
eth0 ポートを介して相互に接続された 2 つの Linux ボックスがあります。
1 番目のボックス (thing 1) からは、172.24.2.2、172.24.1.65 (ラップトップの HOSTAPD へのワイヤレス接続)、および 192.168.1.196 (thing 2 wlan0 接続) に ping できます。
2番目のボックス(物2)からは172.24.2.1、172.24.1.1、192.168.1.1(インターネットルーター)にアクセスできます。
1 番目と 2 番目の両方とも、ラップトップ上にあるアドレス、またはインターネットに接続されているルーターによって割り当てられたアドレスに ping を実行できるのに、どちらのマシンでもインターネットに接続できないのはなぜでしょうか。何か明らかなことを見逃しているような気がしますが、よくわかりません。どなたか助けていただければ幸いです。
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 のアクセスが許可されるはずです。