Это сообщение связано с решением этой задачи и является её естественным продолжением.
В кратце: настраиваю WiFi точку доступа. С указанием в ручную настроек proxy на машинах во внутренней сети (wlan1) всё работает. WiFi-карточку перевожу в режим точки доступа с помощью hostapd. В качестве DNS- и DHCP-сервера --- dnsmasq. Proxy (прозрачный) --- squid.
Сетевые настройки:
dvolosnykh@xakac:~$ sudo cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.55.151
netmask 255.255.255.0
gateway 192.168.55.1
#iface wlan1 inet dhcp
iface wlan1 inet static
address 10.42.43.1
netmask 255.255.255.0
dvolosnykh@xakac:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:90:f5:8c:4a:ac
inet addr:192.168.55.151 Bcast:192.168.55.255 Mask:255.255.255.0
inet6 addr: fe80::290:f5ff:fe8c:4aac/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:496166 errors:0 dropped:5010 overruns:0 frame:0
TX packets:228179 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:263312390 (263.3 MB) TX bytes:30584761 (30.5 MB)
Interrupt:46
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:13602 errors:0 dropped:0 overruns:0 frame:0
TX packets:13602 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2390443 (2.3 MB) TX bytes:2390443 (2.3 MB)
mon.wlan1 Link encap:UNSPEC HWaddr 00-1D-D9-29-00-6C-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:259941 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:17363856 (17.3 MB) TX bytes:0 (0.0 B)
wlan1 Link encap:Ethernet HWaddr 00:1d:d9:29:00:6c
inet addr:10.42.43.1 Bcast:10.42.43.255 Mask:255.255.255.0
inet6 addr: fe80::21d:d9ff:fe29:6c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3797 errors:0 dropped:0 overruns:0 frame:0
TX packets:3006 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:579087 (579.0 KB) TX bytes:1021451 (1.0 MB)
dvolosnykh@xakac:~$ iwconfig
...
wlan1 IEEE 802.11bg Mode:Master Frequency:2.412 GHz Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
mon.wlan1 IEEE 802.11bg Mode:Monitor Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Пытаюсь настроить систему (Ubuntu 11.04) в качестве шлюза.
dvolosnykh@xakac:~$ uname -a
Linux xakac 2.6.38-9-generic #43-Ubuntu SMP Thu Apr 28 15:23:06 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Уже второй вечер не могу настроить сетевой экран с помощью iptables. Насколько я понимаю, при том, что во всех цепочках всех таблиц, действие по-умолчанию --- ACCEPT, то элементарно NAT'ить пакеты можно всего одной строкой:
iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE
Понятно, что до полноценной настройки firewall'а ещё далеко, но мне бы для начала увидеть, что пакеты перенаправляются.
============================================
raw
--------------------------------------------
Chain PREROUTING (policy ACCEPT 5 packets, 528 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1 packets, 52 bytes)
num pkts bytes target prot opt in out source destination
============================================
mangle
--------------------------------------------
Chain PREROUTING (policy ACCEPT 5 packets, 528 bytes)
num pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 5 packets, 528 bytes)
num pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1 packets, 52 bytes)
num pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 1 packets, 52 bytes)
num pkts bytes target prot opt in out source destination
============================================
nat
--------------------------------------------
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0
============================================
filter
--------------------------------------------
Chain INPUT (policy ACCEPT 5 packets, 528 bytes)
num pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1 packets, 52 bytes)
num pkts bytes target prot opt in out source destination
На данный момент при ping'е, например, ya.ru утилита tcpdump демонстрирует следующее:
dvolosnykh@xakac:/etc/hostapd$ sudo tcpdump -i wlan1
...
00:02:54.711482 IP 10.42.43.199 > www.yandex.ru: ICMP echo request, id 1675, seq 11, length 64
00:02:55.717426 IP 10.42.43.199 > www.yandex.ru: ICMP echo request, id 1675, seq 12, length 64
В то же время при ping'е адреса 192.168.1.1, который находится за шлюзом провайдера (192.168.55.1), ответы проходят. По-моему, это странно.
00:03:24.319033 IP 10.42.43.199 > inet.icn.bmstu.ru: ICMP echo request, id 1676, seq 1, length 64
00:03:24.319464 IP inet.icn.bmstu.ru > 10.42.43.199: ICMP echo reply, id 1676, seq 1, length 64
00:03:25.321000 IP 10.42.43.199 > inet.icn.bmstu.ru: ICMP echo request, id 1676, seq 2, length 64
00:03:25.321693 IP inet.icn.bmstu.ru > 10.42.43.199: ICMP echo reply, id 1676, seq 2, length 64
См.далее.