Mój komputer jest wyposażony w dwa interfejsy netto, wlan0
i eth0
, i chcę użyć portu WiFi za pośrednictwem punktu dostępowego wlan0
.
- Użyłem
hostapd
obiektu i działa poprawnie w trybie routingu w sieci lokalnej; użytkownicy mogą połączyć się z punktem dostępu, a DHCP działa poprawnie w obu segmentach. - Na komputerze
hostapd
nie ma żadnych zapór aniiptables
reguł (iptables
a zapory są wyłączone), ponieważ chcę korzystać tylko z wbudowanej zapory routera ADSL.
Moja konfiguracja sieci wygląda następująco:
PC with hostapd -> cable connection -> ADSL router
wlan0 -> eth0 <-> 192.168.0.1 <-> internet
192.168.10.1 -> 192.168.0.7 -> static routing to 192.168.10.X
PC ifconfig
:
eth0 Link encap:Ethernet HWaddr 00:12:3F:F2:31:65
inet addr:192.168.0.7 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::212:3fff:fef2:3165/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2169539 errors:0 dropped:0 overruns:0 frame:0
TX packets:1008097 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3056198487 (2.8 GiB) TX bytes:72727161 (69.3 MiB)
Interrupt:16
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:3398 errors:0 dropped:0 overruns:0 frame:0
TX packets:3398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:495444 (483.8 KiB) TX bytes:495444 (483.8 KiB)
mon.wlan0 Link encap:UNSPEC HWaddr 00-14-A5-04-94-3C-90-F0-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:151 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:17092 (16.6 KiB) TX bytes:0 (0.0 b)
wlan0 Link encap:Ethernet HWaddr 00:14:A5:04:94:3C
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::214:a5ff:fe04:943c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:279392 (272.8 KiB)
Jak skonfigurować prostą iptables
konfigurację NAT na komputerze PC?
- Chcę, aby wszyscy użytkownicy podłączeni do sieci za pośrednictwem
hostapd
(sieci192.168.10.X
) mieli dostęp do iz Internetu - Nie chcę filtrować żadnego ruchu, tylko NAT.
Nie mogę uzyskać połączenia z Internetem z segmentu WiFi:
- Klient podłączony do Wi-Fi ma adres DHCP
192.168.10.48
, a jedyny ruch odbywa sięeth0
z adresu:
Uwaga: adres16:50:14.671587 ARP, Request who-has 192.168.0.48 tell 192.168.0.1, length 46
192.168.0.48
nie jest192.168.10.48
, więc Masquerade wydaje się działać. - Nie mogę już pingować
192.168.0.1
[routera ADSL], co było wcześniej możliwe. - Co z dostępem z Internetu do użytkowników WIFI? Oczywiście skonfiguruję router ADSL, przekierowując konkretną pulę portów IP z Internetu na konkretny adres IP takiego użytkownika WiFi.
EDYCJA 1:
systemctl
pokazujeiptables
jako:
Mimo że pobiegłem:iptables.service loaded active exited
systemctl enable iptables.service systemctl start iptables.service
EDYCJA 2:
- Działa, ale czy przy każdym uruchomieniu komputera normalne jest ręczne dodawanie następujących elementów za pomocą skryptu uruchamiania?
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Odpowiedzi:
W najprostszej formie:
Umożliwi to wszystkim użytkownikom WiFi dostęp do Internetu.
Oczywiście zakładając, że Twoja inna konfiguracja routingu jest już wykonana, a mianowicie:
Przekazywanie włączone w jądrze
Przekazywanie włączone w
iptables
:Służy
tcpdump -nn -i eth0
do obserwowania ruchueth0
w przypadku problemów, aby sprawdzić, czy jest poprawnie NATedowany, czy odpowiedź wraca itp.EDYCJA: „Muszę dodawać ręcznie za każdym razem, gdy uruchamiam komputer (ze skryptu uruchamiania) ...” To zależy od posiadanej dystrybucji Linuksa. Niestety, prawie każda dystrybucja ma swoje własne narzędzie Firewall - w końcu tylko dzwonią,
iptables
ale z jakiegoś powodu autorzy uważają, że zaciemnianie sposobu działania iptables jest tym, czego chcą użytkownicy.Aby odpowiedzieć na twoje pytanie - najprawdopodobniej twoja zapora ogniowa może zostać skonfigurowana do automatycznego dodawania tej reguły NAT. Dokładny sposób różni się jednak między dystrybucjami Linuksa bez uzasadnionego powodu. Smutne ale prawdziwe.
źródło
Napisałem zaporę ogniową na każdą okazję. Przed użyciem przeczytaj README i SCRIPT. Podałem niezbędne zasady dla HOSTAP
HostAP
HostAP wymaga, aby oba poniższe wiersze były AKCEPTOWANE do działania
https://github.com/diveyez/fw.sh
źródło