Iptables подсеть

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

iptables -I INPUT 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, у меня нет доступа.

3 ответа

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

Вы можете отлаживать правила сетевого фильтра, включив цель 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 где типом может быть "правило" для простого правила, "возврат" для неявного правила в конце определенной пользователем цепочки и "политика" для политики встроенных цепочек. Правило можно найти с помощью 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-адреса назначения

Другие вопросы по тегам