
eth0 포트를 통해 서로 연결된 두 개의 Linux 상자가 있습니다.
첫 번째 상자(thing 1)에서 172.24.2.2, 172.24.1.65(HOSTAPD에 대한 내 노트북 무선 연결) 및 192.168.1.196(thing 2 wlan0 연결)을 ping할 수 있습니다.
두 번째 상자(thing 2)에서는 172.24.2.1, 172.24.1.1 및 192.168.1.1(인터넷 라우터)을 사용할 수 있습니다.
사물 1과 사물 2 모두 내 노트북에 있거나 인터넷에 연결된 라우터에 의해 할당된 주소를 핑할 수 있는데 왜 두 컴퓨터 모두에서 인터넷에 연결할 수 없습니까? 나는 뭔가 분명한 것을 놓치고 있는 것 같은 느낌이 들지만, 그것을 알아낼 수는 없는 것 같습니다. 어떤 도움이라도 대단히 감사하겠습니다.
Thing 1:
eth0
IP: 172.24.2.1
wlan0: (HOSTAPD)
IP: 172.24.1.1
sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.24.2.2 0.0.0.0 UG 0 0 0 eth0
172.24.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
172.24.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
iptables-save
# Generated by iptables-save v1.6.0 on Mon Sep 25 11:06:45 2017
*nat
:PREROUTING ACCEPT [143:74243]
:INPUT ACCEPT [15:1386]
:OUTPUT ACCEPT [40:2905]
:POSTROUTING ACCEPT [10:927]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Sep 25 11:06:45 2017
# Generated by iptables-save v1.6.0 on Mon Sep 25 11:06:45 2017
*mangle
:PREROUTING ACCEPT [474:101797]
:INPUT ACCEPT [279:24338]
:FORWARD ACCEPT [8:536]
:OUTPUT ACCEPT [223:24658]
:POSTROUTING ACCEPT [226:24674]
COMMIT
# Completed on Mon Sep 25 11:06:45 2017
# Generated by iptables-save v1.6.0 on Mon Sep 25 11:06:45 2017
*filter
:INPUT ACCEPT [279:24338]
:FORWARD ACCEPT [5:380]
:OUTPUT ACCEPT [222:24698]
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
COMMIT
===============================================================================
Thing 2:
eth0
IP: 172.24.2.2
wlan0: (connected to local internet wifi)
IP: 192.168.1.196
sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.24.2.1 0.0.0.0 UG 0 0 0 eth0
172.24.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 UG 0 0 0 wlan0
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
#nameserver 8.8.8.8
nameserver 192.168.1.1
답변1
Thing 2에 인터넷 액세스용으로 설정된 기본 게이트웨이가 잘못된 것 같습니다. Thing 2는 인터넷에 직접 연결되어 있기 때문에 시작하겠습니다(질문을 올바르게 읽었다면). Thing 1이 Thing 2를 통해 인터넷에 연결되기를 원하는 것 같습니다.
Thing 2의 현재 기본 게이트웨이는 172.24.2.1이지만 이는 인터넷에 연결된 라우터의 주소가 아닙니다. Thing 2의 기본 게이트웨이를 192.168.1.1로 변경해야 합니다. 이렇게 하면 Thing 2에서 인터넷이 작동하게 됩니다.
Thing 1은 이미 Thing 1의 IP 주소를 기본 게이트웨이로 설정했으므로 Thing 1 액세스를 허용해야 합니다.