У меня 4 виртуальные машины, использующие виртуальный ящик. Одна виртуальная машина работает как маршрутизатор, соединяющий 3 сети. Я пытаюсь отключить все коммуникации, входящие в маршрутизатор, за исключением некоторых услуг. IP-интерфейсы, которые у меня есть на каждой машине:
Виртуальная машина 1, работающая как маршрутизатор:
eth1: 193.136.200.254
eth2: 10.10.0.254
eth3: 10.254.0.254
Виртуальная машина 2:
eth1: 10.10.0.2
eth2: 10.10.0.3
Виртуальная машина 3:
eth1: 193.136.200.2
Виртуальная машина 4:
eth1: 10.254.0.1
Я определяю следующие правила на маршрутизаторе:
IPTABLES -P INPUT DROP
iptables -A INPUT -s 193.136.200.3 -d 193.136.200.254 -p udp -m udp --sport 53 -j ACCEPT
И теперь я пытаюсь проверить, работает ли это с помощью netcat. Итак, на маршрутизаторе я запускаю команду:
nc -u -s 193.136.200.254 -p 53 193.136.200.3 53
А на виртуальной машине 3 я запускаю:
nc -u 193.136.200.3 53
Затем я пишу случайное слово на одной машине, но оно не появляется на другой машине. Так что это не работает. Вы знаете, что не так?
Это потому, что вы подключаетесь к себе, когда набираете команду:
nc -u 193.136.200.3 53
Если вы хотите подключиться к маршрутизатору с машины 3, попробуйте эту команду:
nc -u -s 193.136.200.3 -p 53 193.136.200.254 53
вместо того nc -u 193.136.200.3 53