Правила iptables на сервере с установленным ntp

В ntp.conf ограничения на слушающие интерфейсы:
interface ignore wildcard
interface listen lo
interface listen br10
interface listen br11

Внешний интерфейс:
eth0    203.0.113.1

Два внутренних интерфейса:
br10    192.168.2.1
br11    10.15.0.1

Предположительно ntp будет слать запросы c первого указанного в conf внутреннего интерфейса. Специально не проверял и добавил правила для обоих интерфейсов.

Чтобы разрешить синхронизацию необходимо в iptables дописать следующие правила.
В таблицу nat:
-A POSTROUTING -o eth0 -s 192.168.2.1/32 -d 0.0.0.0/0 -j SNAT --to 203.0.113.1
-A POSTROUTING -o eth0 -s 10.15.0.1/32 -d 0.0.0.0/0 -j SNAT --to 203.0.113.1

В таблицу filter:
-A FORWARD -i br10 -o eth0 -s 192.168.2.1/32 -p udp -m udp --dport 123 -j ACCEPT
-A FORWARD -i eth0 -o br10 -d 192.168.2.1/32 -p udp -m udp --sport 123 -j ACCEPT -m conntrack --ctstate ESTABLISHED,RELATED
-A FORWARD -i br11 -o eth0 -s 10.15.0.1/32 -p udp -m udp --dport 123 -j ACCEPT
-A FORWARD -i eth0 -o br11 -d 10.15.0.1/32 -p udp -m udp --sport 123 -j ACCEPT -m conntrack --ctstate ESTABLISHED,RELATED

Проверяем:
При невозможности синхронизации:
# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp.tuxfamily.n .INIT.          16 u    -   64    0    0.000    0.000   0.000
 net1.web.yas-on .INIT.          16 u    -   64    0    0.000    0.000   0.000
 kitty.zeroloop. .INIT.          16 u    -   64    0    0.000    0.000   0.001
 server6.webster .INIT.          16 u    -   64    0    0.000    0.000   0.001
 juniperberry.ca .INIT.          16 u    -   64    0    0.000    0.000   0.001

Видно, что наш stratum ниже плинтуса и равен 16. Никто из клиентов не получит точное время:
# ntpq -c rv
associd=0 status=c012 leap_alarm, sync_unspec, 1 event, freq_set,
version="ntpd 4.2.6p5@1.2349-o Thu Feb 11 18:30:40 UTC 2016 (1)",
processor="x86_64", system="Linux/3.13.0-79-generic", leap=11,
stratum=16, precision=-20, rootdelay=0.000, rootdisp=0.525, refid=INIT,
reftime=00000000.00000000  Mon, Jan  1 1900  0:00:00.000,
clock=da9521d1.5cf52844  Thu, Mar 17 2016 12:30:09.363, peer=0, tc=3,
mintc=3, offset=0.000, frequency=4.057, sys_jitter=0.000,
clk_jitter=0.001, clk_wander=0.000

После синхронизации:
# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
-obelix.wf-hosti 18.211.171.136   3 u  129  256  377    9.812    0.171   0.761
*beastie.deuza.n 145.238.203.14   2 u  186  256  377    9.746    1.576   0.340
+quatramaran.sal 210.240.96.206   2 u  124  256  377   10.399    2.180   0.687
 2001:41d0:8:e11 .INIT.          16 u    - 1024    0    0.000    0.000   0.000
+x1.f2tec.de     145.238.203.14   2 u  125  256  377   10.341    1.833   0.301
 golem.canonical .INIT.          16 u    - 1024    0    0.000    0.000   0.000

Видно, что наш сервер стал stratum=3:
# ntpq -c rv
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd 4.2.6p5@1.2349-o Thu Feb 11 18:30:40 UTC 2016 (1)",
processor="x86_64", system="Linux/3.13.0-79-generic", leap=00, stratum=3,
precision=-20, rootdelay=14.415, rootdisp=29.891, refid=94.23.217.75,
reftime=da951dec.20019c4a  Thu, Mar 17 2016 12:13:32.125,
clock=da95204e.e2da37d7  Thu, Mar 17 2016 12:23:42.886, peer=7599, tc=8,
mintc=3, offset=1.821, frequency=-14.364, sys_jitter=0.297,
clk_jitter=4.661, clk_wander=1.288