Добрый вечер!
Есть сервис, работающий в контейнере по адресу 10.81.65.206, порты 80 и 53
Открыл к нему доступ из локальной сети 192.168.1.0/24
по этому мануалуПравила, которые я добавил в
/etc/ufw/before.rules# NAT table rules
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# Port Forwardings
-A PREROUTING -i wlp1s0 -p tcp --dport 80 -j DNAT --to-destination 10.81.65.206
-A PREROUTING -i wlp1s0 -p tcp --dport 53 -j DNAT --to-destination 10.81.65.206
# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o wlp1s0 -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT
В принципе мне этого достаточно, всё работает.
Но было бы удобно ещё открыть доступ с самого девайса по его локальному IP, например 192.168.1.45
Тогда девайс будет доступен с одинаковым IP и в браузере на нём самом, и в браузерах на всех других девайсах.
Попробовал изменить правила таким образом (ниже), но это не работает.
Как надо?
# NAT table rules
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# Port Forwardings
-A PREROUTING -i wlp1s0 -p tcp --dport 80 -j DNAT --to-destination 10.81.65.206
-A PREROUTING -i lo -p tcp --dport 80 -j DNAT --to-destination 10.81.65.206
-A PREROUTING -i wlp1s0 -p tcp --dport 53 -j DNAT --to-destination 10.81.65.206
# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o wlp1s0 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/24 -o lo -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT
P.S. Использую ufw, потому что
1) мне так удобнее
2) это разработка инженеров из Canonical, и именно Ubuntu я использую для своих серверов и контейнеров, хочу оценить преимущества этого инструмента в его родной среде