计算机Awlp2s0
通过连接到的wifi 接口访问互联网路由器(互联网)。
- WAN 网络
192.168.1.0/24
- 仅响应计算机 A 的 MAC 地址 DHCP 发现请求
计算机A的第二个网络接口enp3s0
由计算机B伸手互联网通过A的 NAT。
- LAN 网络
192.168.45.50/24
计算机 B 使用此连接访问互联网。为此,dnsmasq
在计算机A通过配置来监听超过的任何接口wlp2s0
。
当前设置
如何从此设置中删除 wifi 接口以便仅使用enp3s0
-带开关?
所需设置
当前配置(计算机 A)
Ubuntu 18.04 安装在计算机 A 上,netplan
无法处理enp3s0
,它在启动期间手动配置:
iptables -t nat -A POSTROUTING -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1
ip link set enp3s0 up
ip addr add 192.168.4.50/24 dev enp3s0
然后 dnsmasq 开始在其配置中使用适当的子网监听该接口。
哪些配置选项可以dnsmasq
防止DHCP server
干扰DHCP client
同一接口?
由于我需要删除上述脚本,因此我假设并使用dhcpd4: true
接口配置 Netplanenp3s0
以获取计算机 A互联网与 DHCP 请求的连接,必须有一种方法可以:
- 阻止 dnsmasq(A)响应来自其自身主机(A)的请求
- 配置正确的 IP 地址以便
enp3s0
在两个不同的 IP 下在两个网络中工作(?)
为什么
- A 上以太网接口数量不得超过
enp3s0
。
答案1
通过简单的配置,您还试图实现路由器将看到所有请求(即使它会忽略它 - “仅接受 A 的 MAC”)。单个 NIC 不是必需的,这将是一个问题……说实话,如果您真的想让它工作并且仍然分离(A 也在进行 MASQUERADE),我会考虑使用 VLAN(802.1q)和支持此功能的交换机。成本不会高很多,即使 A 上只有一个 NIC,您仍然可以分离流量……交换机上的一个端口将是“WAN”VLAN,其余的可以是“LAN”VLAN。这种方式在内部也适用于 SOHO 路由器(这可以在例如 openwrt 项目端看到,其中显示了路由器上交换机的内部设置);-)。
利用 802.1q,系统上将有两个可用的逻辑 NIC:
- enp3s0.1(VLAN 1@enp3s0)
- enp3s0.2 (VLAN 2@enp3s0)
从以下系统配置中,您将像任何其他物理网卡一样处理这些逻辑接口,因此您可以在一个接口上运行 DHCP 客户端以进行外部连接和 MASQUERADE,而在另一个接口上,您可以简单地运行 DHCP 服务器。
功能搜索的关键字:802.1q、VLAN、SOHO 交换机上的流量分离
--- 编辑(2019-03-21):将接口 ID 从 wlp2s0 更新为请求的 enp3s0 ---