将流量从一个物理接口重定向到另一个

将流量从一个物理接口重定向到另一个

我有一台带有两个物理网络接口的 Raspberry Pi (Raspbian)。其中一个连接到我的路由器,该路由器提供互联网访问。我的想法是通过第二个物理接口将互联网共享给另一台设备。

如何将流量从一个物理接口重定向到另一个接口?

答案1

我认为您所问的和您想要问的可能是两件不同的事情,事实上“我如何将流量从一个物理接口重定向到另一个接口?”没有什么意义。

根据您的意图,有两种类型的选项 -

桥接

第一种是桥接两个接口以创建虚拟交换机/集线器,当流量发往另一台设备时,这使得 Pi 的 (IP) 流量对路由器和服务器不可见。为此,请获取 bridge-utils 包,并使用以下命令编辑 /etc/network/interfaces:

auto br0
iface br0 inet dhcp
    pre-up ip link set eth0 down
    pre-up ip link set eth1 down
    pre-up brctl addbr br0
    pre-up brctl addif br0 eth0 eth10
    pre-up ip addr flush dev eth0
    pre-up ip addr flush dev eth1
    post-down ip link set eth0 down
    post-down ip link set eth1 down
    post-down ip link set br0 down
    post-down brctl delif br0 eth0 eth1
    post-down brctl delbr br0

然后,您将拥有一个 br0 接口,它将充当设备的本地接口,而 eth0 和 eth1 也将充当交换机。

路由

如果您想将您的设备变成路由器,并让第二个接口的流量重写为来自 Pi,则需要进行路由。

第一步是启用转发 - 您可以修改 /etc/sysctl.conf 中的行“net.ipv4.ip_forward”使其值为“1”,然后运行 ​​sysctl -p 来加载更改(或重新启动 PI)。

第二步是启动 Pi 上的接口并设置适当的 IP 地址。IP 地址需要位于具有正确子网掩码的不同子网中。如果您正在运行 DHCP,请在 Pi 上设置 DHCP 服务器。(否则您可以静态分配地址)。

然后添加一条规则,如 iptables -t nat -A PPOSTROUTING -o ethX -j MASQUERADE

“ethX”是连接到互联网的接口 - 它会重写数据包,以便从路由器的角度来看,它们来自 PI,而不是插入它的设备。

(以上仅为概述 - 您可以从在线教程中获取大量关于将 Pi 分别转换为 Wifi 桥接器和 Wifi 路由器的信息,省略 WIFI 特定位并根据需要更改接口名称)。

相关内容