
У меня есть два Linux-компьютера, подключенных друг к другу через порт eth0.
С 1-го ящика (вещь 1) я могу пропинговать 172.24.2.2, 172.24.1.65 (беспроводное подключение моего ноутбука к HOSTAPD) и 192.168.1.196 (соединение wlan0 вещи 2)
Из 2-го ящика (вещь 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.
Вещь 1 уже настроена с IP-адресом Вещи 1 в качестве шлюза по умолчанию, что должно разрешить доступ Вещи 1.