LINUX.ORG.RU
ФорумAdmin

LXD 3 проброс портов в контейнер FTP

 , , ,


0

1

Добрый день.

В контейнере настроен vsftpd. с хоста подключение работает. Не получается пробросить порты снаружи.

iptables-save:

# Generated by iptables-save v1.6.1 on Mon Jul 29 07:56:13 2019
*filter
:INPUT ACCEPT [997:87955]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [633:134740]
-A INPUT -i lxdbr0 -p tcp -m tcp --dport 53 -m comment --comment "generated for LXD network lxdbr0" -j ACCEPT
-A INPUT -i lxdbr0 -p udp -m udp --dport 53 -m comment --comment "generated for LXD network lxdbr0" -j ACCEPT
-A INPUT -i lxdbr0 -p udp -m udp --dport 67 -m comment --comment "generated for LXD network lxdbr0" -j ACCEPT
-A INPUT -p tcp -m multiport --dports 20,21
-A INPUT -p tcp -m multiport --dports 10000:10100
-A FORWARD -o lxdbr0 -m comment --comment "generated for LXD network lxdbr0" -j ACCEPT
-A FORWARD -i lxdbr0 -m comment --comment "generated for LXD network lxdbr0" -j ACCEPT
-A OUTPUT -o lxdbr0 -p tcp -m tcp --sport 53 -m comment --comment "generated for LXD network lxdbr0" -j ACCEPT
-A OUTPUT -o lxdbr0 -p udp -m udp --sport 53 -m comment --comment "generated for LXD network lxdbr0" -j ACCEPT
-A OUTPUT -o lxdbr0 -p udp -m udp --sport 67 -m comment --comment "generated for LXD network lxdbr0" -j ACCEPT
-A OUTPUT -p tcp -m multiport --sports 10000:10100
-A OUTPUT -p tcp -m multiport --sports 20,21
COMMIT
# Completed on Mon Jul 29 07:56:13 2019
# Generated by iptables-save v1.6.1 on Mon Jul 29 07:56:13 2019
*mangle
:PREROUTING ACCEPT [46986:13375947]
:INPUT ACCEPT [15448:1586446]
:FORWARD ACCEPT [2359:2330757]
:OUTPUT ACCEPT [12470:2224332]
:POSTROUTING ACCEPT [14829:4555089]
-A POSTROUTING -o lxdbr0 -p udp -m udp --dport 68 -m comment --comment "generated for LXD network lxdbr0" -j CHECKSUM --checksum-fill
COMMIT
# Completed on Mon Jul 29 07:56:13 2019
# Generated by iptables-save v1.6.1 on Mon Jul 29 07:56:13 2019
*nat
:PREROUTING ACCEPT [1569:509388]
:INPUT ACCEPT [6:1890]
:OUTPUT ACCEPT [5:316]
:POSTROUTING ACCEPT [3:196]
-A PREROUTING -d 192.168.0.109/32 -p tcp -m tcp --dport 21 -j DNAT --to-destination 10.10.0.20
-A PREROUTING -d 192.168.0.109/32 -p tcp -m tcp --dport 20 -j DNAT --to-destination 10.10.0.20
-A PREROUTING -d 192.168.0.109/32 -p tcp -m tcp --dport 10000:10100 -j DNAT --to-destination 10.10.0.20
-A POSTROUTING -s 10.10.0.0/24 ! -d 10.10.0.0/24 -m comment --comment "generated for LXD network lxdbr0" -j MASQUERADE
-A POSTROUTING -d 10.10.0.20/32 -p tcp -m tcp --dport 20 -j SNAT --to-source 192.168.0.109
-A POSTROUTING -d 10.10.0.20/32 -p tcp -m tcp --dport 21 -j SNAT --to-source 192.168.0.109
-A POSTROUTING -d 10.10.0.20/32 -p tcp -m tcp --dport 10000:10100 -j SNAT --to-source 192.168.0.109
COMMIT
# Completed on Mon Jul 29 07:56:13 2019

Или есть еще какие способы? Возможно lxc config device add?

Адрес хоста: 192.168.0.109 Адрес контейнера: 10.10.0.20

Можно использовать бридж, связанный с физической локальной сетью, тогда контейнер будет в ней доступен напрямую.

anonymous
()
Ответ на: комментарий от petrovnv

Создай на хосте бридж с физическим интерфейсом, укажи его контейнеру. Контейнер будет выглядеть как обычный хост в твоей сети (адрес получать по DHCP или назначать статически, LXD не участвует).

https://en.wikipedia.org/wiki/Bridging_(networking)

https://netplan.io/reference#properties-for-device-type-bridges (для Ubuntu)

anonymous
()
Ответ на: комментарий от petrovnv

Да просто создай другой, этот менять нет необходимости.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.