У меня есть VPS с одним публичным IP, 64.х.х.х
который назначен enp1s0
.
Моя цель состоит в том, чтобы контейнеры LXC работали на этом VPS, которые связь с хостом и с WAN. Это означает, что трафик направляется из Контейнер > lxcbr0 > enp1s0 > WAN
Я следовал стандартной процедуре в LXC, которая создает мост lxcbr0
и устройство veth, подключенное к мосту. Из контейнера я могу пропинговать хост, а также общедоступный IP-адрес хоста. Но я не могу связаться с WAN! Насколько я знаю, я все сделал правильно в конфигурации, но явно не так.
Хозяин:
# ip а
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast состояние UP группа по умолчанию qlen 1000
ссылка/эфир xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 64.x.x.x/32 brd 64.x.x.250 область глобальная динамическая enp1s0
valid_lft 84329 сек. selected_lft 84 329 сек.
ссылка на область inet6 fe80::9400:1ff:fe0e:33dc/64
valid_lft навсегда
3: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир 00:16:3e:00:00:00 брд ff:ff:ff:ff:ff:ff
inet 10.0.3.1/24 brd 10.0.3.255 область глобальная lxcbr0
valid_lft навсегда
ссылка на область inet6 fe80::216:3eff:fe00:0/64
valid_lft навсегда
4: vethf6wBpH@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master lxcbr0 состояние UP группа по умолчанию qlen 1000
ссылка/эфир fe:1f:bc:2d:41:3c brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::fc1f:bcff:fe2d:413c/64 ссылка на область действия
valid_lft навсегда
# iptables -L -t nat -v
Цепочка PREROUTING (политика ACCEPT 0 пакетов, 0 байт)
pkts bytes target prot opt in out source target
Цепочка INPUT (политика ACCEPT 0 пакетов, 0 байтов)
pkts bytes target prot opt in out source target
Цепочка OUTPUT (политика ACCEPT 0 пакетов, 0 байтов)
pkts bytes target prot opt in out source target
Цепочка POSTROUTING (политика ACCEPT 0 пакетов, 0 байт)
pkts bytes target prot opt in out source target
2 124 MASQUERADE все -- любой любой 10.0.3.0/24 !10.0.3.0/24
# маршрут -n
Таблица IP-маршрутизации ядра
Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
0.0.0.0 17.x.x.1 0.0.0.0 UG 0 0 0 enp1s0
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 lxcbr0
17.x.x.1 0.0.0.0 255.255.255.255 UH 0 0 0 enp1s0
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
# iptables -L ВПЕРЕД
Сеть FORWARD (политика ACCEPT)
целевая защита выбор источника назначения
ПРИНИМАТЬ все -- в любом месте в любом месте
ПРИНИМАТЬ все -- в любом месте в любом месте СВЯЗАННО, УСТАНОВЛЕНО
Контейнер:
# ip а
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: eth0@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир 4e:53:3c:48:56:ad brd ff:ff:ff:ff:ff:ff ссылка-netnsid 0
inet 10.0.3.25/24 brd 10.0.3.255 глобальная область действия eth0
valid_lft навсегда
ссылка на область inet6 fe80::4c53:3cff:fe48:56ad/64
valid_lft навсегда
# маршрут -n
Таблица IP-маршрутизации ядра
Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0 eth0
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
я посмотрел на tcpdump -i lxcbr0 icmp
на хосте. пинг запрос проходит, но я не вижу Ответить. tcpdump -i enp1s0 icmp
не проявляет никакой активности, пока я пингую WAN из контейнера.
Ценю все мысли по этому поводу!