Ntp
在 OpenBSD 上使用 NTPD 通過埠轉發從 Linux 獲取時間
這是對另一個問題的重新討論,現在我對事情有了更好的理解。
我設置了以下網路:
NTP 10.21.3.169 | \______________ | \ 10.21.3.160 (eth1) | L1 | 10.0.0.67 (eth0) | | | | | 10.0.0.65 (pcn1) | OpenBSD | 10.0.0.51 (pcn0) | | | | | 10.0.0.49 (eth1) 10.21.3.159 (eth0) L2
其中 L1 和 L2 是 Linux 機器。
我希望 OpenBSD 機器能夠從 NTP 伺服器獲取時間。有人告訴我,要實現這一點,我需要對 OpenBSD 框的
/etc/pf.conf
文件進行一些更改。我最初的嘗試如下。我知道我還需要對 Linux 機器上的 iptables 進行一些更改,但目前
tcpdump udp
Linux 機器上沒有顯示來自 OpenBSD 機器的任何流量,我假設 NTP 客戶端的請求不是被正確路由到 Linux 機器。rdr on pcn1 proto udp from any to any port 123 -> 10.0.0.67 nat on pcn0 proto udp from any to 10.0.0.67 port 123 -> pcn1
我正在使用以下命令更新 OpenBSD 機器的配置:
pfctl -F all ; pfctl -f /etc/pf.conf
我正在使用以下命令進行 ntp 更新,看看會發生什麼:
ntpd -d -s
我使用的是“傳統”ntp,而不是 OpenNTP。
我需要在 pf.conf 中進行哪些更改才能看到到達 L1 的 UDP 數據包?重申一下,PF 配置位於我將執行 ntpd 客戶端的同一台機器上。
好的,我已經成功了。首先pf的配置是:
rdr on pcn0 proto udp from any to any port 123 -> 10.0.0.67 nat on pcn0 proto udp from any to 10.0.0.67 port 123 -> pcn1
而且,我已經將我的 ntp 客戶端配置為連接到
10.21.3.169
,實際上它應該連接到10.0.0.67
.我現在需要配置在 10.0.0.67 偵聽的機器以將 NTP 請求轉發到 10.21.3.169,但這是另一個問題的主題!:)