Здравствуйте. На стационарном компьютере имеется usb wi-fi адаптер (wlan0) и сетевая карта (eth0). к eth0 подключен adsl модем. в /etc/sysctl.conf net.ipv4.ip_forward = 1. в iptables -A FORWARD -i wlan0 -j ACCEPT и -t nat -A POSTROUTING -o eth0 -j MASQUERADE. хочу предоставить ноутбуку доступ к интернету через wi-fi. пинг со стационарного компа на ноут идёт, а вот с ноута на стационарную машину - нет. но самое интересное, когда выключаю модем пинг с ноута начинает идти.
tcpdump -i wlan0 -n -nn -ttt на стационарной машине показывает что icmp пакеты приходят с ноута, но на него не отправляются.
И заметил ещё одну вещь, когда пингуется ноут с компа (а это становится возможным если явно указать интерфейс ping -I wlan0 192.168.1.6), то почему-то адрес у wlan0 - 192.168.1.2 , когда это адрес eth0 : PING 192.168.1.6 (192.168.1.6) from 192.168.1.2 wlan0: 56(84) bytes of data. Но опять же, при выключенном модеме всё работает, и пинг идёт с правильными адресами : PING 192.168.1.6 (192.168.1.6) from 192.168.1.5 wlan0: 56(84) bytes of data. Думаю проблема в этом, но как решить её не знаю
P.S. когда соединяю комп и ноут сетевым кабелем, ну и в iptables в цепочке FORWARD заменяю wlan0 на eth1, подобной проблемы не возникает. всё работает.
вывод iptables -L -v
Chain INPUT (policy ACCEPT 34453 packets, 3068K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- wlan0 any anywhere anywhere
Chain OUTPUT (policy ACCEPT 25127 packets, 51M bytes)
pkts bytes target prot opt in out source destination
iptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 45 packets, 10168 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 51 packets, 4896 bytes)
pkts bytes target prot opt in out source destination
58 3754 MASQUERADE all -- any eth0 anywhere anywhere
Chain OUTPUT (policy ACCEPT 109 packets, 8650 bytes)
pkts bytes target prot opt in out source destination