คอมพิวเตอร์ของฉันเป็นอุปกรณ์ที่มีอินเตอร์เฟซสุทธิสองwlan0
และและฉันต้องการที่จะใช้พอร์ตอินเตอร์เน็ตไร้สายเป็นจุดการเข้าถึงeth0
wlan0
- ฉันใช้
hostapd
สิ่งอำนวยความสะดวกและทำงานอย่างถูกต้องในโหมดเส้นทางภายในเครือข่ายท้องถิ่น ผู้ใช้สามารถเชื่อมต่อกับจุดเชื่อมต่อและ DHCP ทำงานได้อย่างถูกต้องในทั้งสองส่วน - พีซีที่
hostapd
ไม่มีไฟร์วอลล์หรือiptables
กฎใด ๆ(iptables
และไฟร์วอลล์ปิดใช้งาน) เนื่องจากฉันต้องการใช้ไฟร์วอลล์ในตัวของเราเตอร์ ADSL เท่านั้น
การกำหนดค่าเน็ตของฉันเป็นดังนี้:
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
พีซี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)
ฉันจะกำหนดค่า NAT แบบธรรมดาiptables
ให้กับพีซีได้อย่างไร
- ฉันต้องการให้ผู้ใช้ทุกคนเชื่อมต่อกับเครือข่ายผ่านทาง
hostapd
(เครือข่าย192.168.10.X
) เพื่อเข้าถึงและจากอินเทอร์เน็ต - ฉันไม่ต้องการกรองการเข้าชมใด ๆ เพียง NAT เท่านั้น
ฉันไม่สามารถเชื่อมต่ออินเทอร์เน็ตจากส่วน WiFi:
- ไคลเอนต์ที่เชื่อมต่อกับ WiFi มีที่อยู่ DHCP
192.168.10.48
และทราฟฟิกเดียวเปิดeth0
จากที่อยู่:
หมายเหตุ: ที่อยู่16:50:14.671587 ARP, Request who-has 192.168.0.48 tell 192.168.0.1, length 46
192.168.0.48
ไม่ได้192.168.10.48
ดังนั้น Masquerade จึงสามารถทำงานได้ - ฉันไม่สามารถ ping
192.168.0.1
[เราเตอร์ ADSL] อีกต่อไปซึ่งเป็นไปได้ก่อนหน้านี้ - สิ่งที่เกี่ยวกับการเข้าถึงจากอินเทอร์เน็ตไปยังผู้ใช้ WIFI? แน่นอนฉันจะตั้งค่าในเราเตอร์ ADSL ส่งต่อพอร์ต IP รวมเฉพาะจากอินเทอร์เน็ตไปยังที่อยู่ IP เฉพาะของผู้ใช้ WiFi ดังกล่าว
แก้ไข 1:
systemctl
แสดงiptables
เป็น:
แม้ว่าฉันจะวิ่ง:iptables.service loaded active exited
systemctl enable iptables.service systemctl start iptables.service
แก้ไข 2:
- ใช้งานได้ แต่ทุกครั้งที่ฉันบูตคอมพิวเตอร์เป็นเรื่องปกติหรือไม่ที่จะต้องเพิ่มสิ่งต่อไปนี้ด้วยตนเองผ่านสคริปต์เริ่มต้น
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE