两个子网之间的通信

两个子网之间的通信

我有一个简单的网络,如下所述:

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

在复制命令之前,请先尝试理解它们

相关内容