1 个接口上的 DHCP 服务器和 DHCP 客户端

1 个接口上的 DHCP 服务器和 DHCP 客户端

计算机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 请求的连接,必须有一种方法可以:

  1. 阻止 dnsmasq(A)响应来自其自身主机(A)的请求
  2. 配置正确的 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 ---

相关内容