![两个子网之间的通信](https://linux22.com/image/885958/%E4%B8%A4%E4%B8%AA%E5%AD%90%E7%BD%91%E4%B9%8B%E9%97%B4%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 地址和路由两台服务器
服务器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
路由
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
路由
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
在复制命令之前,请先尝试理解它们