我正在设置一个 dynamips/dynagen 实验室,想知道是否有任何方法可以让流量从一个 tap 设备路由出去,进入实验室,然后返回到同一台机器上的 tap 设备。我尝试过主机特定路由,以及删除通过 ifconfig 为 tun 设备提供 ip 时创建的路由。使用这两种方法,流量总是优先选择连接的设备,而不会通过我的实验室。
有什么方法可以在没有单独机器或虚拟机的情况下实现这个功能吗?
答案1
我认为这不是轻易就能做到的,因为主机会在其自己的路由表中进行查找,并发现只需在内部传递流量即可最容易地到达您想要访问的 IP。
如果你使用的是 Linux,可以使用以下方法创建源路由ip
这一页有一个可供您参考的示例。
答案2
显然,原始套接字绑定到接口,可以轻松绕过路由表。Scapy 可以做到这一点,例如:
>>> sendp(IP(dst="192.168.8.2"), iface="tap0", loop=1)
达成我的目標。