同一台机器上两个接口之间的通信

同一台机器上两个接口之间的通信

如何实现连接到 2 个接口的 2 个客户端之间的通信。例如Client A连接到eth0Client B连接到wlan0?两者都将获得 DHCP IP。 在此处输入图片描述

答案1

好像您有两个选择:

选项1:在 LAN 和 WLAN 之间路由流量

这基本上保留了您现有的设置,并根据需要在 LAN 和 WLAN 之间路由流量。

第一的,启用 IPv4 转发

第二,配置 iptables允许网络之间的通信,如下所示:

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

iptables 更改不是永久性的,但链接提到了一种快速修复方法。或者,如果您愿意,您也可以将这些行添加到您的 bashrc 或其他位置。


选项 2:将两个接口桥接在一起

基本上这会改变您现在的设置:

    eth0 --> LAN 接口,10.42.0.0/25 子网
    wlan0 --> WLAN 接口,10.42.1.0/25 子网

像这样

    br0 --> LAN+WLAN 接口,单个子网(可以是 10.42.0.0/25 或 10.42.1.0/25)

为此,您必须禁用 DHCP 服务器并删除 Debian 服务器上与 wlan0 和 eth0 关联的 IP 地址,创建一个新的桥接接口并将它们添加到其中。您可以使用以下命令执行此操作:

#Install bridge utils
sudo apt-get install bridge-utils

#Create the bridge & add the interfaces
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo brctl addif br0 wlan0
sudo brctl show

#Set the IP on br0 (ex. 10.42.0.1/25) and turn up the link
sudo ip addr add 10.42.0.1/25 dev br0
sudo ip link set dev br0 up

然后,重新激活其中一个 DHCP 服务器(无论哪个服务器正在处理你决定保留的子网),br0界面与之前有所不同。

这与大多数家用 Wi-Fi 路由器的工作方式类似。请记住,此网桥不是持久的,在重启后会消失 - 您需要为 netplan/network manager/服务器上处理网络的任何程序创建/编辑相应的配置文件,才能在重启后继续存在。一般说明可以在这里找到这里

相关内容