【问题标题】:How to redirect packets received from one network interface to another network interface?如何将从一个网络接口接收的数据包重定向到另一个网络接口?
【发布时间】:2012-05-03 19:02:48
【问题描述】:

我使用的是 ubuntu11.10,我使用以下命令创建了一个 tun/tap 界面

openvpn --mktun --dev tun0
ip link set tun0 up
ip addr add 10.10.10.1/24 dev tun0
route add 10.10.10.1/24 dev tun0

我那里有另一个界面

eth0 10.80.1.87

我想将从 tun0 收到的数据包重定向到 eth0。如何在 Ubuntu 上做到这一点?

【问题讨论】:

    标签: linux networking ip


    【解决方案1】:

    作为对这两个不错的答案的补充,请记住:

    • 桥接在链路层(“以太网级别”)工作——因此在两个接口之间配置桥接就像通过(虚拟)交换机连接它们
    • 转发工作在网络层(“IP 级别”)——因此配置两个接口之间的转发就像通过(虚拟)路由器连接它们

    【讨论】:

      【解决方案2】:

      按照 TCPIP 标准的要求,默认情况下 IP 转发是关闭的。 你打开它: echo 1 > /proc/sys/net/ipv4/ip_forward

      然后转发将起作用。您似乎在帖子中添加了几行,所以我无法确定您的网络配置。

      如果 tun0 上的数据包以 eth0 上的目的地进入,现在将被转发。您的 Ubuntu 机器将用作路由器。它不会盲目地将进入 tun0 的数据包放到以太网上。

      因此,如果您在 tun0 上的 IP 地址是 10.10.10.1,那么另一个主机,例如 tun0 上的 10.10.10.45 将必须配置 10.10.10.1 的网关(至少对于 10.80.1.0/24)。然后,如果它有一个 10.80.1.234 的数据包,它将首先将其转发到 10.10.10.1,您的 Ubuntu 机器会将其转发到以太网上的 10.80.1.234。接下来,THAT 机器将回复 10.10.10.45。它必须配置为使用 10.80.1.87 作为该主机/网络的网关。如果所有配置正确,它将起作用。

      在 10.80.1.0/24 的机器上配置正确网关的替代方法是启用 ip 伪装。然后,您的 ubuntu 机器将伪造 FROM 地址并替换 10.80.1.87 作为 10.10.10.45 曾经的源。

      【讨论】:

        【解决方案3】:

        听起来你要configure bridge between two network interfaces还有ubuntu专用手册here

        $ sudo apt-get install bridge-utils
        # vim /etc/network/interfaces: 
        
        auto lo
        iface lo inet loopback
        
        auto br0
        iface br0 inet static
                address 192.168.0.10
                network 192.168.0.0
                netmask 255.255.255.0
                broadcast 192.168.0.255
                gateway 192.168.0.1
                bridge_ports eth0
                bridge_fd 9
                bridge_hello 2
                bridge_maxage 12
                bridge_stp off
        
        $sudo /etc/init.d/networking restart
        

        【讨论】:

        • 非常感谢。真的很有帮助。
        • 不一定,如果底层链路层不是以太网,那么您不能使用该接口桥接以太网,例如 pt 到 pt 隧道,在这种情况下您需要路由,我仍在寻找解决方案怎么办?
        • 链接已损坏。
        • 工作“这里”链接help.ubuntu.com/lts/serverguide/…
        • @northern-bradley 感谢您的更新,我已经更新了答案中的链接
        猜你喜欢
        • 1970-01-01
        • 2013-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-28
        • 1970-01-01
        相关资源
        最近更新 更多