Здравствуйте. На стационарном компьютере имеется 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 destinationChain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- wlan0 any anywhere anywhereChain OUTPUT (policy ACCEPT 25127 packets, 51M bytes)
pkts bytes target prot opt in out source destinationiptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 45 packets, 10168 bytes)
pkts bytes target prot opt in out source destinationChain POSTROUTING (policy ACCEPT 51 packets, 4896 bytes)
pkts bytes target prot opt in out source destination
58 3754 MASQUERADE all -- any eth0 anywhere anywhereChain OUTPUT (policy ACCEPT 109 packets, 8650 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сделайте чтобы на интерфейсах адреса были из разных подсетей
>[оверквотинг удален]
>>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
>
>сделайте чтобы на интерфейсах адреса были из разных подсетейспасибо!!! всё заработало!!!