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

проверка правил iptables с использованием netcat не работает

У меня 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, попробуйте эту команду:

  1. nc -u -s 193.136.200.3 -p 53 193.136.200.254 53 вместо того nc -u 193.136.200.3 53