Linux のインターネットへのルート

Linux のインターネットへのルート

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 のアクセスが許可されるはずです。

関連情報