Loï*_*hes 7 ip route linux-networking
我有 ip route add 的问题。令人惊讶的是,我可以添加路由然后更改它,但我不能直接添加它:
# ip route add 192.168.0.0/16 via 192.168.255.254 src 192.168.1.101
RTNETLINK answers: No such process
Run Code Online (Sandbox Code Playgroud)
但:
# ip route add 192.168.0.0/16 dev eth0
# ip route change 192.168.0.0/16 via 192.168.255.254 src 192.168.1.101
Run Code Online (Sandbox Code Playgroud)
我的接口文件是:
iface lo inet loopback
auto eth0
iface eth0 inet static
address 178.xxx.xxx.xxx
netmask 255.255.255.192
network 178.xxx.xxx.xxx
broadcast 178.xxx.xxx.xxx
gateway 178.xxx.xxx.xxx
auto eth0:1
iface eth0:1 inet static
address 192.168.1.101
netmask 255.255.0.0
Run Code Online (Sandbox Code Playgroud)
我有点失落,我必须说。我可以添加然后更改,但不明白为什么它分两步工作而不是直接工作并不令人满意。我一直在阅读手册页而不理解。
在答案的帮助下更新:
我现在在eth0
和上有一个网关eth0:0
,但是由于我希望除 之外的所有流量都192.168.0.0/16
标记为来自我的178.xxx.xxx.xxx
地址,因此我添加了一个路由规则。也许eth0
使用192.168.1.101
ip 然后使用178.xxx.xxx.xxx
ip 可以在eth0:0
没有路由规则的情况下工作,但它是这样的:
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 178.xxx.xxx.131
netmask 255.255.255.192
network 178.xxx.xxx.128
broadcast 178.xxx.xxx.191
gateway 178.xxx.xxx.190
up /sbin/ip route add default via 178.xxx.xxx.190 dev eth0 table 125
up /sbin/ip rule add from 178.xxx.xxx.128/26 table 125
post-down /sbin/ip route del default via 178.xxx.xxx.190 dev eth0 table 125
post-down /sbin/ip rule del from 178.xxx.xxx.128/26 table 125
auto eth0:0
iface eth0:0 inet static
address 192.168.1.101
netmask 255.255.0.0
gateway 192.168.255.254
Run Code Online (Sandbox Code Playgroud)
我也禁用了rp_filter
:
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
归档时间: |
|
查看次数: |
62014 次 |
最近记录: |