![兩個子網路之間的通信](https://rvso.com/image/885958/%E5%85%A9%E5%80%8B%E5%AD%90%E7%B6%B2%E8%B7%AF%E4%B9%8B%E9%96%93%E7%9A%84%E9%80%9A%E4%BF%A1.png)
我有一個簡單的網絡,如下所述:
Server1 (Two NICs):
eth0: xxx.xxx.xxx.xxx Public IP address connected to ISP device
eth1: 192.168.0.1 LAN1(192.168.0.0)
Server2 (Two NICs):
eth0: 192.168.0.3
eth2: 192.168.1.1 LAN2(192.168.1.0)
我想做的是讓 LAN1 的機器與 LAN2 的機器通訊。
我的Linux知識比較貧乏,所以希望有人能在這件事上幫助我。
下面我把輸出IP位址和ip路由兩台伺服器的
伺服器1
IP位址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether d4:ae:52:cc:13:69 brd ff:ff:ff:ff:ff:ff
inet xx.xx.xx.xxx/30 brd xx.xx.xx.xxx scope global eth0
inet6 fe80::d6ae:52ff:fecc:1369/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether d4:ae:52:cc:13:6a brd ff:ff:ff:ff:ff:ff
inet 192.168.0.1/24 brd 192.168.0.255 scope global eth1
inet6 fe80::d6ae:52ff:fecc:136a/64 scope link
valid_lft forever preferred_lft forever
ip路由
default via xxx.xxx.xxx.xxx dev eth0 metric 100
yyy.yyy.yyy.yyy/30 dev eth0 proto kernel scope link src zzz.zzz.zzz.zzz
192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.1
192.168.1.0/24 via 192.168.0.3 dev eth1
其中:
xxx.xxx.xxx.xxx 是我的 ISP 閘道
yyy.yyy.yyy.yyy/30 是我的子網路
zzz.zzz.zzz.zzz 是我的公用IP 位址(但在本例中並不重要)
伺服器2
IP位址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:23:54:c0:43:9e brd ff:ff:ff:ff:ff:ff
inet 192.168.0.3/24 brd 192.168.0.255 scope global eth0
inet6 fe80::223:54ff:fec0:439e/64 scope link
valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether ec:08:6b:06:3f:dd brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global eth2
inet6 fe80::ee08:6bff:fe06:3fdd/64 scope link
valid_lft forever preferred_lft forever
ip路由
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.3
default via 192.168.0.1 dev eth0 metric 100
編輯:traceroute
我把命令 的輸出放在伺服器1。也許有幫助:
traceroute to 192.168.1.14 (192.168.1.14), 30 hops max, 60 byte packets 1 192.168.0.3 (192.168.0.3) 0.102 ms 0.092 ms 0.084 ms 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * 7 *^C
網路的拓樸結構如下這。
答案1
這關鍵字是ip-forwarding
要在 Server2 上啟用 IPv4 轉發,我認為這就是您想要做的,首先檢查它是否已啟用:
sysctl net.ipv4.ip_forward
如果它具有該值,則0
它被禁用(預設)。
echo 1 > /proc/sys/net/ipv4/ip_forward
啟用它,但僅限於您當前的會話(直到重新啟動)。
如果您想讓此配置永久生效,最好的方法是使用該文件/etc/sysctl.conf
,您可以在其中添加包含以下內容的行:
net.ipv4.ip_forward = 1
若要啟用該文件中的更改,請使用:
sysctl -p /etc/sysctl.conf
在複製命令之前,請嘗試理解它們