Ric*_*mon 1 networking debian iproute2
我有三台服务器,目前有 ips 192.168.1.1、192.168.1.2 和 192.168.1.3。他们可以看到对方并互相交谈。我想在 192.168.1.x 之上创建第二个子网,即 10.170.xx
我可以为三台服务器 10.170.0.1、10.170.0.2 和 10.170.0.3 中的每台分配 ips,使用ip addr add 10.170.0.1 dev eth0
. 我遇到的问题是如何进行路由。我无法通过 10.170.xx 网络 ping 任何服务器。我相信我需要创建一些点对点桥梁,但我不知道如何开始。有任何想法吗?
Mic*_*ton 12
正如其他人所指出的,当您使用ip address add
但不提供网络掩码或 CIDR 范围时,/32
是假定的,因此不会为子网创建路由。
要解决此问题,您还需要添加 CIDR 范围:
ip addr add 10.170.0.1/16 dev eth0
Run Code Online (Sandbox Code Playgroud)
要使更改持久化,请将其添加到/etc/network/interfaces
. 这可以通过post-up
命令以廉价和肮脏的方式完成,但正确的方法是添加仅包含该地址的第二节:
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.250
iface eth0 inet static
address 10.170.0.1
netmask 255.255.0.0
Run Code Online (Sandbox Code Playgroud)
请特别注意的是,尽管你会过时的互联网指南读什么,你应该不使用eth0:0
第二个IP地址。这种形式已被弃用并且已经存在多年(这意味着它可能随时从 Linux 中删除)。