![所有接口上的路由](https://linux22.com/image/173213/%E6%89%80%E6%9C%89%E6%8E%A5%E5%8F%A3%E4%B8%8A%E7%9A%84%E8%B7%AF%E7%94%B1.png)
我最近买了一台小型单板计算机来取代我的 ISP 提供的糟糕的路由器。
按照这个例子:
https://www.openbsd.org/faq/pf/example1.html
em0 是我的 WAN,em1 是 AP,em2 是我的有线网络。
我的 AP 一切正常,我可以使用笔记本电脑连接到它,并通过 ssh 连接到路由器,没有任何问题。
我将 em1 配置为:
echo 'inet 192.168.0.1 255.255.255.0 192.168.0.255' > /etc/hostname.em1
当我尝试将 em2 添加到混合物中时,麻烦就开始了:
echo 'inet 192.168.0.1 255.255.255.0 192.168.0.255' > /etc/hostname.em2
(我希望我的有线网络与 AP 位于同一子网中)
使用 RPi 进行测试。当我将 RPi 插入 em1 时,它会获取 IP 地址 192.168.0.4,我可以通过 ssh 访问它。
当我将其连接到 em2 时,它根本没有获得 dhcp 租约。
通过运行 ifconfig,我可以看到虽然 em1 包含以下行:
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
em2没有这一行。
如何让 em2 提供 dhcp 租约,与 em1 一样?
答案1
要直接回答您的问题,请更改dhcpd_flags
为/etc/rc.conf.local
使其在两个接口上监听,例如
dhcpd_flags="em1 em2"
在同一子网上拥有两个接口会带来麻烦。如果您确实希望这两个接口位于同一子网上,您可能需要考虑桥接这两个接口。就像是:
/etc/hostname.em1
:
inet 192.168.0.1 255.255.255.0 192.168.0.255
/etc/hostname.em2
:
up
/etc/hostname.bridge0
:
add em1
add em2
up
然后dhcpd
在bridge0上监听。