преамбула

Этот вопрос можно рассматривать как продолжение ссылки

Настроить

  • Система: встроенная 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. Пожалуйста, дайте нам знать ваши соображения, если я должен добавить любое другое правило для достижения этой цели.

1 ответ1

1

Вам не хватает DNS для вашей сети Wi-Fi. Добавьте в файл /etc/dhcpd.conf строку вроде

  option domain-name-servers 8.8.4.4, 8.8.8.8;

среди всех option строк перезапустите сервер dhcp, и все готово. Ничего больше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .