我有一个 Linux 网络服务器,192.168.0.2/24 分配给 eth0,172.16.0.2/24 分配给 eth1。我不能改变这一点。这是到目前为止的路由:
172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.2
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2
172.16.0.0/16 via 172.16.0.1 dev eth1
default via 192.168.0.1 dev eth0
Run Code Online (Sandbox Code Playgroud)
默认路由通向 Internet,机器需要访问 Internet 来下载内容。现在还有通过 172.16.0.254 从 Internet 传入的数据包(请求)。我必须如何设置路由表和规则才能响应这些请求?iptables
在这里是不可能的。
更新:这似乎有效,但对我来说看起来并不优雅:
ip r a 172.16.0.0/24 dev eth1 table 10
ip r a 172.16.0.0/16 via 10.16.0.1 t 10
ip r a default via 172.16.0.254 t 10
ip rule add from 172.16.0.2 t 10
Run Code Online (Sandbox Code Playgroud)