Подсеть Iptables

Подсеть Iptables

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

iptables -I ВВОД 2 -i eth0 -s xxxx/24 -d xxXx -j ПРИНЯТЬ

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

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

решение1

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

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

modprobe -i ipt_LOG

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

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

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

решение2

Попробуйте удалить "-d xxxx". Я говорю это, потому что INPUT означает весь трафик, направленный на вашу машину, поэтому нет необходимости указывать место назначения. EDIT: Также попробуйте добавить "-p tcp" перед "-s xxxx/24". Я думаю, вам нужно указать протокол для соответствия. – aseaudi 17 минут назад

решение3

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

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-адреса назначения.

Связанный контент