LINUX.ORG.RU
ФорумAdmin

Masquerade - странная проблема

 , , ,


0

2

Добрый день.

Есть домашний сервер под CentOS7. Подключен к роутеру сетевой картой enp2s0, установлены libvirtd, docker.

докер работает, виртуальные машины не могут выйти за пределы сервера.

подробнее - сеть по умолчанию default удалена. виртуальные машины подключаются к мосту virbr0, правила в iptables заданы (nat & forward). внутри сервера сеть работает отлично.

iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE

правило ната прописано, iptables показывает, что есть исходящие соединения, а входящих соединений нет вообще.

уже второй день голову ломаю, думаю что мешает виртуальным серверам???

★★★

в -t filter всё включено для цепочки FORWARD ? established,related ?

форвардинг пакетов (пересылка между интерфейсами) на уровне ядра включена?

Infra_HDC ★★★★★
()
Ответ на: комментарий от Infra_HDC

для теста сделал accept в обе стороны.

Nurmukh ★★★
() автор топика
Ответ на: комментарий от robot12

да включен проверил в первую очередь

Nurmukh ★★★
() автор топика
Ответ на: комментарий от Nurmukh

enp2s0 случайно не в этом же бридже?

Если так, то nat вам не нужен, все виртуалки и сервак будут в одной сети за роутером. И если роутер раздает адреса по DHCP, попробуйте по DHCP получить адрес на виртуалке.

Короче ждем вывода brctl show и ifconfig -a

samson ★★
()
Ответ на: комментарий от samson

сетевой интерфейс enp2s0 не находится в мосту. мост virbr0 используется только для виртуалок. внутри домашнего сервера (между хостом и виртуальными машинами) сеть рабочая - дхцп работает, пинги идут.

Nurmukh ★★★
() автор топика
Ответ на: комментарий от samson
[nurmukhamed@corei3 ~]$ sudo brctl show
bridge name	bridge id		STP enabled	interfaces
docker0		8000.02425640de49	no		
virbr0		8000.624a0c65c9d5	no		vnet0
[nurmukhamed@corei3 ~]$ ip a ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether f4:f2:6d:03:61:c7 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1f:d0:87:38:2d brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.2/24 brd 192.168.10.255 scope global enp2s0
       valid_lft forever preferred_lft forever
    inet 192.168.10.3/24 brd 192.168.10.255 scope global secondary enp2s0
       valid_lft forever preferred_lft forever
    inet 192.168.10.4/24 brd 192.168.10.255 scope global secondary enp2s0
       valid_lft forever preferred_lft forever
    inet6 fe80::21f:d0ff:fe87:382d/64 scope link 
       valid_lft forever preferred_lft forever
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 62:4a:0c:65:c9:d5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::604a:cff:fe65:c9d5/64 scope link 
       valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:56:40:de:49 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN qlen 100
    link/none 
    inet 10.8.0.6 peer 10.8.0.5/32 scope global tun0
       valid_lft forever preferred_lft forever
14: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN qlen 500
    link/ether fe:54:00:55:1c:ee brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe55:1cee/64 scope link 
       valid_lft forever preferred_lft forever

Nurmukh ★★★
() автор топика
Ответ на: комментарий от Nurmukh

1. виртуалки в подсети 192.168.122.0/24?

2. с них ping 192.168.122.1 идет?

3. на виртуалках шлюз по умолчанию 192.168.122.1?

У вас на интерфейсе enp2s0 3 адреса из одной подсети назначено. Может тут проблема? Может прпробовать не MASQUERADE а SNAT to-source?

5. Покажите еще вывод комманд

iptables -vnL
iptables -vnL -t nat
ip route ls

samson ★★
()
Ответ на: комментарий от samson

1 - да

2 - да

3 - да

4 - не должно мешать

вывод команд пока не смогу показать. так как времени не было, решил создать мост с enp2s0, повесить на этот мост виртуальные машины.

Nurmukh ★★★
() автор топика
Ответ на: комментарий от Nurmukh

не должно мешать

да вот хз. На какой адрес подмена будет при маскарадинге? Поэтому и хотелось увидеть таблицу маршрутизации. Может лучше уточнить и прописать -j SNAT to-source

ps: зачем назначать несколько адресов из одной сети на интерфейсе, если не секрет?

samson ★★
()
Последнее исправление: samson (всего исправлений: 3)
Ответ на: комментарий от samson

у меня раньше было несколько докер контейнеров. я их повесил на разные адреса. сейчас уже перешел на macvlan, но адреса остались.

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