![将流量从一个物理接口重定向到另一个](https://linux22.com/image/1487738/%E5%B0%86%E6%B5%81%E9%87%8F%E4%BB%8E%E4%B8%80%E4%B8%AA%E7%89%A9%E7%90%86%E6%8E%A5%E5%8F%A3%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA.png)
我有一台带有两个物理网络接口的 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 特定位并根据需要更改接口名称)。