下午好。这是我家的网络图:
Internal
Interface
x.x.1.14 x.x.1.99
--------- --------- --------- ----------
| | | | | | | |
| Comp1 |---|Rasp Pi|---|Router |---|Internet|
| | | | | | | | |
--------- --------- | --------- ----------
x.x.0.123 | x.x.0.1 8.8.8.8
External |
Interface | ---------
| | |
|-| Comp2 |
| |
---------
x.x.0.135
我在家里连接了两个网络(一个 WiFi 和一个有线网络),在 Raspberry Pi 上的 Ubuntu 24.04.1 LTS 上运行 iptables。从 Comp1,我能够 ping Comp2 和互联网,但后来我在 Pi 上做了一些愚蠢的事情(更改了 root 密码并扔掉了便签),不得不重新设置我的 Pi。我重新设置了 Pi,使用相同的网络设置,现在我可以从 Comp1 再次 ping Comp2,但不能上网。我第一次尝试让 Pi 工作时输入了大量笔记,但到目前为止,我所做的一切都无法让我连接到互联网。以下是我迄今为止尝试过的列表:
没有
sudo iptables -t nat -A POSTROUTING -o 192.168.0.123 -j MASQUERADE
sudo iptables -A FORWARD -i 192.168.0.123 -o 192.168.1.99 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i 192.168.1.99 -o 192.168.0.123 -j ACCEPT
没有
sudo iptables -t nat -A POSTROUTING -o 192.168.0.123 -j MASQUERADE
sudo iptables -A FORWARD -i 192.168.1.99 -o 192.168.0.123 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i 192.168.0.123 -o 192.168.1.99 -j ACCEPT
没有
sudo iptables -t nat -A POSTROUTING -o 192.168.1.99 -j MASQUERADE
sudo iptables -A FORWARD -i 192.168.0.123 -o 192.168.1.99 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i 192.168.1.99 -o 192.168.0.123 -j ACCEPT
没有
sudo iptables -t nat -A POSTROUTING -o 192.168.1.99 -j MASQUERADE
sudo iptables -A FORWARD -i 192.168.1.99 -o 192.168.0.123 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i 192.168.0.123 -o 192.168.1.99 -j ACCEPT
没有
sudo iptables -I FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
sudo iptables -I FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT
没有
sudo iptables -A FORWARD -i 192.168.0.123 -o 192.168.1.99 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i 192.168.1.99 -o 192.168.0.123 -j ACCEPT
没有
sudo iptables -I FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
sudo iptables -I FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT
没有
sudo iptables -I FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
sudo iptables -I FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT
我还在 Linux 机器上添加了到第二个网络的路由:
$ sudo ip route add 192.168.0.0/24 via 192.168.1.99
我尝试了翻转,因为第一次我犯了一个错误,翻转了我在互联网上找到的 IP 标签,结果成功了。那么,有人能看出我做错了什么吗?或者我遗漏了什么?
谢谢,
乔
感谢您的快速回复。好的,以下是信息:
Comp1-Linux ens160 是 192.168.1.14
Pi-Linux eth0 是 192.168.1.99 wlan0 是 192.168.0.123
Comp2-Windows 192.168.0.135
iptables-保存
# Generated by iptables-save v1.8.10 (nf_tables) on Tue Nov 26 12:54:31 2024
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [204777:66752196]
:OUTPUT ACCEPT [0:0]
-A FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
COMMIT
# Completed on Tue Nov 26 12:54:31 2024
# Generated by iptables-save v1.8.10 (nf_tables) on Tue Nov 26 12:54:31 2024
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [117749:8274546]
-A POSTROUTING -o 192.168.0.123 -j MASQUERADE
-A POSTROUTING -o 192.168.0.123 -j MASQUERADE
COMMIT
# Completed on Tue Nov 26 12:54:31 2024
乔
sysctl -p 的输出如下:
jfxb@Pi5:~$ sudo sysctl -p
[sudo] password for jfxb:
net.ipv4.ip_forward = 1
jfxb@Pi5:~$