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

Подсеть iptables

У меня есть правило iptable, в котором я разрешаю подсеть IP-адресов. Правило следующее:

iptables -I INPUT 2 -i eth0 -s x.x.x.x / 24 -d x.x.X.x -j ПРИНЯТЬ

Например, я хочу разрешить подсеть 172.16.0.0/24. Могу ли я столкнуться с проблемой, такой как IP-адрес из этой подсети не имеет доступа, хотя я настроил эту подсеть как разрешенную?

Я имею дело с такой проблемой. Я настроил 172.16.0.0/24 на разрешение из iptables, но когда я пытаюсь получить доступ с IP 172.16.0.9, у меня нет доступа.

Попробуйте удалить "-d x.x.x.x". Я говорю это, потому что INPUT означает весь трафик, предназначенный для вашей машины, поэтому нет необходимости указывать пункт назначения. РЕДАКТИРОВАТЬ: Также попробуйте добавить «-p tcp» перед «-s x.x.x.x / 24». Думаю, вам нужно указать протокол матча. - aseaudi 17 минут назад

Вы можете отлаживать правила netfilter, включив цель TRACE:

Сначала загрузите соответствующий модуль ядра, чтобы войти непосредственно в системный журнал:

modprobe -i ipt_LOG

А затем создайте правило для регистрации всего трафика из вашей некорректной системы:

iptables -t raw -A PREROUTING --source 172.16.0.9 -p tcp -j TRACE

Пакеты регистрируются с префиксом строки: TRACE: tablename:chain- name:type:rulenum где type может быть "rule" для простого правила, "return" для неявного правила в конце определяемой пользователем цепочки и "policy" для политики встроенных цепочек. Rulenum можно найти с помощью iptables -L --line-numbers

Я думаю о двух возможных проблемах:

1 - вы не позволяете трафику уходить с вашего компьютера

iptables -I OUTPUT 1 -i eth0 -d x.x.x.x/24 -j ACCEPT

2 - вы предотвращаете попадание широковещательных пакетов на вашу машину

попробуйте это вместо исходного ввода:

iptables -I INPUT 1 -i eth0 -s x.x.x.x/24 -j ACCEPT

без использования IP-адреса назначения.