у меня есть два интерфейса eth0 и wlan0. С wlan0 я связан с AP, у которого есть доступ к WAN, я получаю IP-адрес через DHCP, прибывающий из AP.
Второй интерфейс - это eth0. Я настроил его, используя сервер DHCP, выдавая разные IP-адреса подсети всем клиентам, подключенным в этой подсети через eth0.
Мое клиентское устройство (смартфон) правильно получает IP-адрес с моего DHCP-сервера eth0.
Однако я изо всех сил пытаюсь сейчас связать eth0 с wlan0.
Сеть eth0 - 192.168.42.0/24. Мой компьютер с обоими сетевыми картами использует 192.168.42.1. Мой IP-адрес от wlan0, скажем, 172.22.3.193
Я уже включил пересылку ipv4, но безуспешно. Мой телефон говорит, что нет подключения к интернету, но может подключиться к eth0. Кажется, мне нужно настроить определенные правила iptables, чтобы переадресация работала, но я пробовал разные подходы, которые мог найти в сети, и ни один из них не работает.
Есть идеи, что делать дальше?
Редактировать: моя команда маршрута дает мне это:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default www.go.wlantick 0.0.0.0 UG 600 0 0 wlan0 link-local 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 172.22.0.0 0.0.0.0 255.255.0.0 U 600 0 0 wlan0 192.168.42.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Кажется, это проблема маршрута. Можете ли вы предоставить вывод команды `ip route`?
vera 5 лет назад
0
я добавил это в свой оригинальный пост
tuxmania 5 лет назад
0
мой плохой, я не утверждал, что вы не настроили iptables
vera 5 лет назад
0
1 ответ на вопрос
0
vera
Чтобы настроить сервер Linux в качестве маршрутизатора NAT, вам необходимо:
включите IP-пересылку, как вы уже сделали (это только напоминание о будущем). Отредактируйте следующую строку в вас/etc/sysctl.conf
net.ipv4.ip_forward=1
включить NAT с помощью iptables. Пожалуйста, выполните следующую команду, где wlan0находится ваш внешний интерфейс.
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Напоминаем, что правила iptables сбрасываются при перезагрузке. Вы должны автоматизировать реконфигурацию iptables.