Назад | Перейти на главную страницу

veth, macvlan или что-то еще?

Я не разбираюсь в режимах lxc network.

Я бы хотел иметь 4 гостей: apache1, apache2, database и frontdoor

frontdoor - это кальмар, который решает, какой apache следует использовать

Он отлично работает на vservers, когда у всех гостей есть фиктивный интерфейс (изолированный от сети), а у frontdoor есть два интерфейса: настоящий eth0 и фиктивный.

Теперь я перехожу на lxc и вместо фиктивного использую мост (на хосте) и mode = veth (на гостях)

Мне не нравится видеть четыре vethLIJG3f в ifconfig, но давайте посмотрим, все в порядке.

проблема в том, что я НЕ МОГУ добраться до squid. Я пытаюсь использовать iptables -t NAT -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 172.16.0.2, но это просто не работает.

Интересно, стоит ли мне поменять veth на что-то другое?

Есть такая же проблема. Я пытался перенаправить порты в контейнер lxc с помощью

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 7070 -j DNAT --to-destination 172.16.110.15:7070

Но не работает. Решение было действительно простым:

iptables -t nat -A РАЗМЕЩЕНИЕ -o br0 -j МАСКЕРАД

Подробнее см. этот

Ну это интересно, я играю с vserver'ом и не очень понимаю, как он работает с eth и dummy.

Как бы то ни было, в вашем случае, я думаю, вам нужно включить ip forwarding.

sysctl -w net.ipv4.conf.all.forwarding=1

Проверьте /etc/sysctl.conf, чтобы сделать его постоянным

Интерфейс именования, который входит в мост, - хорошая идея, если вы хотите знать, кто есть кто. В конфигурационном файле lxc:

lxc.network.veth.pair=eth0-guest1

network в lxc позволяет создавать более сложные сети. Например, вы можете смоделировать реальный «прокси» с двумя виртуальными интерфейсами, один на мосту (скажем, br0), подключенным к Интернету (общедоступные IP-адреса, dmz, что угодно), другой (скажем, br1), подключенный к «внутренним службам».

 .-----------.
 | host eth0 |<----.
 '-----------'     |
         .-------------------.                  .-------------------.
         | br0 (public IP)   |                  | br1 (10.1.1.1/24) |
         '-------------------'                  '-------------------'
                   ^            .--------------------.    ^
                   '------------|    guest squid     |----|
                                '--------------------'    |
                                     .---------------.    |
                                     | guest apache1 |----'
                                     '---------------'    |
                                     .---------------.    |
                                     | guest apache2 |----'
                                     '---------------'    |
                                                 .----------------.
                                                 | guest database |
                                                 '----------------'

Примечание: для второго виртуального интерфейса Ethernet просто повторите строфу lxc.network ...