【发布时间】:2015-12-16 19:25:47
【问题描述】:
我正在尝试模拟许多网络跃点,类似于Star Wars Traceroute。作者提供了一个脚本here,但它是为 Cisco 路由器设计的,使用的是vrf,而不是 Linux。
这是我目前的尝试;
echo 1 > /proc/sys/net/ipv4/ip_forward
ifconfig br0 172.16.100.1 netmask 255.255.255.0
ifconfig br0:1 172.16.101.1 netmask 255.255.255.0
ifconfig br0:2 172.16.102.1 netmask 255.255.255.0
ifconfig br0:2 172.16.103.1 netmask 255.255.255.0
ip rule add iif br0 table 100
ip rule add iif br0:1 table 101
ip rule add iif br0:2 table 102
ip route add default table 100 dev 172.16.101.1
ip route add default table 101 dev 172.16.102.1
ip route add default table 102 dev 172.16.103.1
ping -I br0 172.16.103.2
我尝试使用Source Based Routing 完成同样的事情,这显然重现了vrf 的效果,请参阅here,但附加tcpdump -i br0 显示根本没有流量,而是选择了数据包上lo0。
替代解决方案似乎包括使用 iptables 修改源 IP 和其他诡计,感觉很脏,所以我不知道应该把精力放在哪里。
任何提示/指针将不胜感激
【问题讨论】:
-
我实际上已经使用
netns自己重现了这个,我将在早上分享最终解决方案
标签: linux networking routing iptables