преамбула
Этот вопрос можно рассматривать как продолжение ссылки
Настроить
- Система: встроенная Linux-система с запущенным netfilter и ядром с поддержкой iptables.
- Количество интерфейсов: 2
- eth0: подключен к NAT, который имеет доступ в Интернет.
- wlan0: режим AP, настроенный со статическим IP-адресом (192.168.10.1), к которому могут подключаться клиенты
Задача
Предоставить доступ в Интернет (через eth0) беспроводным клиентам, подключающимся к точке доступа (через wlan0).
Конфигурация IP и вывод маршрута
wlan0
inet addr:192.168.10.1
Bcast:192.168.10.255
Mask:255.255.255.0
eth0:
inet addr:10.102.8.93
Bcast:10.102.11.255
Mask:255.255.252.0
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.102.8.1 0.0.0.0 UG 0 0 0 eth0
10.102.8.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
Шаги пробовали (через скрипт по ссылке)
EXTIF="eth0"
INTIF="wlan0"
echo " External Interface: $EXTIF"
echo " Internal Interface: $INTIF"
echo " Enabling forwarding.."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo " Enabling DynamicAddr.."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo " Clearing any existing rules and setting default policy.."
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
echo " FWD: Allow all connections OUT and only existing and related ones IN"
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
#$IPTABLES -A FORWARD -j LOG
echo " Enabling SNAT (MASQUERADE) functionality on $EXTIF"
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
наблюдения
С помощью описанных выше шагов я могу пропинговать узел, подключенный к сети 10.102.XX от любого беспроводного клиента, подключенного к точке доступа (через wlan0, который находится в 192.168.Диапазон XX ), но у беспроводных клиентов нет подключения к Интернету.
Вопрос
Что касается отсутствия интернета, я предполагаю, что система пересылает пакеты, достигающие wlan0, с адресом назначения в диапазоне 10.102.X.X
к eth0, но он не пересылает пакеты, достигающие wlan0, с адресом назначения, отличным от 10.102.X.X
к эт0. Пожалуйста, дайте нам знать ваши соображения, если я должен добавить любое другое правило для достижения этой цели.