我的问题如下。 (kubuntu 14.04 64位,内核4.40)
我有一台远程计算机(在另一个地方,我不能去现场)有两个网卡。
在第二张卡 ( eth1
) 上,我有一个提供 IP 服务的 dhcp 客户端 192.168.0.189/24
。通过这个IP,我可以连接Teamviewer或anydesk。
在第一张卡 ( eth0
) 上,IP 设置为192.168.2.10/24
。一切运作良好。
但我有一个设备 IP,该 IP192.168.0.100/24
是必须连接到eth0
(请注意,192.168.0.100/24
免费eth1
)。
所以我添加了IP192.168.0.110/24
来eth0
访问这个新设备。
问题是,在这种情况下,我们无法在 Teamviewer 或任何桌面上启动新连接。
所以,我想解释一下我的系统,它必须使用
eth0
访问192.168.0.100
eth1
对所有其他人192.168.0.x
我认为这route
可能是我想要的,但我现在不想测试它,因为出错时,调试起来会很糟糕。
我的问题是:
命令route add 192.168.0.100/24 eth0
就足够了吗?
我应该为其他192.168.0.x
地址生成一些脚本吗?
#ip a before ip addr add 192.168.0.110/24 dev eth0
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.2.10/24 brd 192.168.2.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether yy:yy:yy:yy:yy:yy brd ff:ff:ff:ff:ff:ff
inet 192.168.0.189/24 brd 192.168.0.255 scope global noprefixroute eth1
valid_lft 401100sec preferred_lft forever
#ip a after ip addr add 192.168.0.110/24 dev eth0
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.2.10/24 brd 192.168.2.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet 192.168.0.110/24 scope global secondary enp0s8
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether yy:yy:yy:yy:yy:yy brd ff:ff:ff:ff:ff:ff
inet 192.168.0.189/24 brd 192.168.0.255 scope global noprefixroute eth1
valid_lft 401100sec preferred_lft forever
答案1
通过 dev 添加 ip 路由 /32
所以我想如果你做了类似的事情:
ip route add 192.168.0.100/32 via 192.168.0.189 dev eth0
我认为这会起作用,不是吗?
答案2
你需要两件事:
- 接口上的空闲/32地址(我假设是192.168.0.111)
- /32 路线
# delete the old address if necessary
# ip addr del 192.168.0.110/24 dev eth0
ip addr add 192.168.0.111/32 dev eth0
ip route add 192.168.0.110/32 dev eth0