Ntp

在 OpenBSD 上使用 NTPD 通過埠轉發從 Linux 獲取時間

  • December 2, 2010

這是對另一個問題的重新討論,現在我對事情有了更好的理解。

我設置了以下網路:

   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 udpLinux 機器上沒有顯示來自 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,但這是另一個問題的主題!:)

引用自:https://serverfault.com/questions/208288