Slackware 시스템에서 연결 공유를 설정하는 데 문제가 있습니다. rc.ip_forward를 활성화했습니다.
$ cat /proc/sys/net/ipv4/ip_forward
1
그리고 다음 iptables 규칙을 추가했습니다(다른 규칙은 없습니다).
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
이것은 다음의 출력입니다 ifconfig
.
$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 6c:62:6d:91:7f:3f
inet addr:10.42.0.1 Bcast:10.42.0.255 Mask:255.255.255.0
inet6 addr: fe80::6e62:6dff:fe91:7f3f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:528 errors:0 dropped:36 overruns:0 frame:0
TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:292440 (285.5 KiB) TX bytes:32536 (31.7 KiB)
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:16436 Metric:1
RX packets:349 errors:0 dropped:0 overruns:0 frame:0
TX packets:349 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:27128 (26.4 KiB) TX bytes:27128 (26.4 KiB)
wlan0 Link encap:Ethernet HWaddr 14:d6:4d:48:b0:cd
inet addr:131.114.43.177 Bcast:131.114.43.255 Mask:255.255.252.0
inet6 addr: fe80::16d6:4dff:fe48:b0cd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19695 errors:0 dropped:0 overruns:0 frame:0
TX packets:18023 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9712346 (9.2 MiB) TX bytes:3213810 (3.0 MiB)
여기서 wlan0은 인터넷에 연결된 인터페이스입니다. eth0 IP 주소는 를 사용하여 수동으로 설정되는 netconfig
반면 wlan0은 액세스 포인트에 의해 dhcp로 할당됩니다.
eth0에 연결하면 자체 DHCP 서버가 있는 라우터가 있으므로 시스템에서 이를 실행할 필요가 없습니다. 라우터는 192.168.1.1에 있고 192.168.1.100의 주소를 제공하고 있습니다. Ubuntu 및 NetworkManager(eth0에 대한 "다른 사용자와 공유" 확인란 사용)를 사용하여 수행할 수 있으므로 하드웨어 문제는 없습니다.
이 문제를 어떻게 해결할 수 있나요?
답변1
이것은 작동합니다:
iptables -t nat -A POSTROUTING -o wlan0 -s 10.42.0.0/24 -j MASQUERADE iptables -A FORWARD -i wlan0 -o eth0 -m 상태 \ --상태 관련, 설정됨 -j 수락 iptables -A FORWARD -i eth0 -o wlan0 -j 수락