LINUX.ORG.RU

nat на iptables

 


0

1

Добрый вечер! Мне необходимо построить на виртуальных машинах небольшую сеть в образовательных целях:

сеть 1: 192.168.10.2(вм1),192.168.10.3(вм2),192.168.10.1-10.10.0.1(вм3) сеть 2: 192.168.11.2(вм4),192.168.11.3(вм5),192.168.11.1-10.10.0.2(вм6)

Что то вроде: https://bitrainbow.files.wordpress.com/2015/02/1.png Но к сожалению, не удается корректно настроить iptables (при попытке сделать ping из 192.168.10.2 в 192.168.11.2 хост недоступен, обратно соответственно тоже) Подскажите, пожалуйста, как правильно настроить iptables на вм3 и вм6 чтобы сети были доступны?



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

Как организована сеть, как на схеме?

Или все системы подключены к одному физическому каналу?

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

В виртуальных машинах выставлены сетевые адаптеры мосты. Если делать пинг внутри сети, то узлы доступны, например с 192.168.10.2 пинг до 192.168.10.3 проходит (но до 192.168.11.2 уже нет). Вот пример настройки одной из клиентских вм (enp0s3):

IPADDR=192.168.10.2
NETMASK=255.255.255.128
GATEWAY=192.168.10.1

А вот вм из другой сети:

IPADDR=192.168.11.2
NETMASK=255.255.255.192
GATEWAY=192.168.11.1

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

При такой схеме

-----------------                   ------------------
  Сеть 1                                     Сеть 2
ВМ1 --- |                                   | --- ВМ5
        |                                   |
        |--- ВМ3 ----- Сеть 3 ----- ВМ4 --- |
        |                                   |
ВМ1 --- |                                   | --- ВМ6

На шлюзах ВМ3 и ВМ4 должно быть два сетевы интерфейса один с IP адресом из их внутренней сети, второй из Сети 3, через которую будут соединяться две сети.

Далее, если IP адреса шлюзов в сети 3 имеют IP адрес 1 и 2, то на шлюзе ВМ3 нужно прописать маршрут:

ip r a Сеть2/16 via сеть3.2
а на шлюзе 4
ip r a Сеть1/16 via сеть3.1
И на обоих шлюзах разрешить продвижение пакетов между интерфейсами:
echo 1 > /proc/sys/net/ipv4/ip_forward

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

Спасибо вам большое за детальное пояснение и углубление в проблему! Да все верно, для вм3 и вм4 как у вас на схеме я добавил по два сетевых адаптера.

Почему у вас в команде маска 16?

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

По вашей схеме: вм3: enp0s3

IPADDR=192.168.10.1
NETMASK=255.255.255.128

enp0s8

IPADDR=10.10.0.1
NETMASK=255.255.255.128

вм4:

enp0s3

IPADDR=192.168.11.1
NETMASK=255.255.255.192

enp0s8

IPADDR=10.10.0.2
NETMASK=255.255.255.192

Правильно ли будет настройка вот такой командой:

вм3:

ip route add 10.10.0.2/16 via 10.10.0.1

вм4:

ip route add 10.10.0.1/16 via 10.10.0.2

?

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

Анонимус, как с вами можно связаться и поблагодарить вас за потраченное время?

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

Маски выставить для шлюзов обоих только? для клиентов не менять?

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

Они подняты или нет?

С 10.10.0.1 пингуется 10.10.0.2 и обратно или нет?

В ip addr показывается что назначены IP адреса и состояние интерфейса.

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

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

И подними интерфейсы, если они опущены:

ip l s up dev имя_интерфейса

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

с 10.10.0.1 до 10.10.0.2 не проходит

Значит они подключены к разным каналам передачи данных, удостоверься что ты сделал bridge, если они в bridge режиме к правильным адаптерам.

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

Разбирайся что бы видели.

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

Сделайте на роутерах так:

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p icmp -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 nat FORWARD 0 -p icmp -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
sudo systemctl restart firewalld.service
Попробуйте пинг с роутера в 11 подсети:
ping -I enp0s8 10.10.0.1

Mike_RM
()
Ответ на: комментарий от novice_

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

И покажи после перезагрузки вывод

iptables-save

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

Зачем его включать?

А так, обмен пакетами пойдёт с интерфейса, где есть connected сеть, т.е. таже самая сеть, в которую пойдёт пакет.

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

iptables пустой, вычищал командами

iptables -F
iptables -X
iptables -t nat -F

После выключения firewalld так же нет пинга(

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

После ping -I enp0s8 10.10.0.1

Понимаешь, если в системе есть два интерфейса, например eth0 с ip адресом 192.168.0.2 и eth1 с адресом 10.10.0.2, то при ping 10.10.0.1 пинг пойдёт как раз таки с интерфейса eth1, потому что на интерфейсе eth1 есть та же самая сеть, пакеты в которую адресованы. Указывать в этом случае -I eth1 не нужно. Это правило маршрутизации.

А вот выполнить от имени root

arping 10.10.0.1
можно.

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

На ping ничего не происходит, на arping тоже

sudo arp -a нет команды в CentOS (

Сеть организована так - 4 вм с одним сетевым адаптером с типом мост и 2 вм с двумя адаптерами типа мост. Это единственное, что бы настроено в VirualBox.

В рамках своей сети машины видят друг друга, но дальше своих шлюзов нет.

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

4 вм с одним сетевым адаптером с типом мост и 2 вм с двумя адаптерами типа мост

Покажи скриншоты настройки виртуальных сетевых адаптеров из свойств VirtualBox.

В рамках своей сети машины видят друг друга, но дальше своих шлюзов нет.

Потому что шлюзы друг друга не видят!!!

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

шлюз1

пусто

шлюх2

192.168.10.3 dev enp0s8 lladdr 08:00:27:63:e3:94 STABLE
192.168.10.1 dev enp0s8 lladdr 08:00:27:f4:1b:f3 STABLE
10.10.0.1 dev enp0s8 lladdr 08:00:27:fe:dc:49 STABLE
192.168.10.3 dev enp0s8 lladdr 08:00:27:81:12:65 STABLE

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

Слушайте, а я когда создавал ВМ, я ведь вначале только одну создал, а остальные породил клонированием через VirualBox, но при этом поставил галочку на генерации новых MAC-адресов Может в этом быть дело?

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

Физичечкий интерфейс в хост системе один или несколько?

С машин за шлюзами сами шлюзы пингуются?

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

Тогда должно работать.

Проверь что настройки виртуальных адаптеров точно правильные и везде стоит мост.

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

шлюз1 пусто

Если этот шлюз хотя бы раз успешно пинговался (пусть даже из 11 подсети) то пусто быть не может.

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