Я пытаюсь настроить порт для работы с контейнером LXC при использовании ufw
в Ubuntu, но безрезультатно. Я построил следующий рабочий процесс на основе руководств в Интернете ([1] [2] [3]); в первую очередь раздел о /etc/ufw/before.rules
Я вижу повторяющиеся повсюду, но .... я не могу заставить его работать для меня.
Если кто-нибудь последует этому руководству и найдет успех .... дай мне знать (так что я могу сначала поплакать,
Установка LXC на host1 - я делаю это с помощью простого LXC, пока не представляю настройки LXD
sudo lxc-create -n web -t скачать - -d centos -r 7 -a amd64
sudo lxc-start -n web
sudo lxc-attach -n web
yum install httpd; yum enable httpd; yum start httpd
exit
Теперь мы предполагаем, что
enp0s8
, а 10.0.3.101
10.0.2.6
sudo iptables -L -t nat
маскарадинг уже был настроен установкой LXC . Вы можете сделать снимок этого базовое состояние.
На данный момент два маршрута:
sudo iptables -t nat -A PREROUTING -i enp0s8 -p tcp --dport 8080 -j DNAT --to "10.0.3.101:80"
wget http: / /10.0.2.6:8080
, и это дает мне стандартную целевую страницу CentOS. Успех! / etc / default / ufw
MANAGE_BUILTINS = yes
DEFAULT_FORWARD_POLICY = "ACCEPT"
/etc/ufw/sysctl.conf
net / ipv4 / ip_forward = 1
/etc/ufw/before.rules
* фильтр
строка ufw allow 8080
ufw enable
nc -l 8080
на хосте 1 и попытаюсь снова подключиться с хоста 2, я получу дамп HTTP-заголовка, указывающий, что переадресация портов не происходит . FAIL! Я ' : PREROUTING ACCEPT [0: 0] -A PREROUTING -i enp0s8 -p tcp --dport 8080 -j DNAT --to 10.0.3.101:80 COMMIT # комментарии и т. д. и остальная часть файла, например, *фильтр ...
Оказывается, есть еще несколько шагов настройки, которые необходимы, чтобы разрешить поток общего трафика:
Вверху /etc/ufw/before.rules
, перед * фильтр
раздел
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i enp0s8 -p tcp --dport 8080 -j DNAT --to 10.0.3.101:80
COMMIT
И ближе к низу, перед последний COMMIT
:
-A FORWARD -o lxcbr0 -j ACCEPT
-A FORWARD -i lxcbr0 -j ACCEPT
-A INPUT -p udp --dport 53 -i enp0s8 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 53 -i enp0s8 -m state --state NEW -j ACCEPT
-A INPUT -p udp --dport 67 -i enp0s8 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 67 -i enp0s8 -m state --state NEW -j ACCEPT
Вверху / etc / ufw / after.rules
, перед разделом фильтра:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.3.0/24 ! -d 10.0.3.0/24 -j MASQUERADE
COMMIT
Это было сделано для моей тестовой среды, как указано в описании проблемы.