Openbsd

所有介面上的路由

  • May 16, 2020

我最近買了一台小型單板電腦來代替我的 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 像 em1 一樣提供 dhcp 租約?

要直接回答您的問題,請更改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上聽。

引用自:https://unix.stackexchange.com/questions/586707