Скажем, у меня на брандмауэре Linux установлен брандмауэр с iptables, так что я принимаю только трафик портов 22 и 80 и блокирую доступ ко всем другим портам.
Работают ли эти правила, только если клиентский компьютер использует адрес IPv4? Так что, если используется адрес ipv6, клиент может получить доступ к портам, которые я им не хочу? (т.е. порты, отличные от порта 22 и порта 80)
Ответы:
iptables
работает для IPv4, но не для IPv6.ip6tables
является эквивалентным брандмауэром IPv6 и устанавливается вместе сiptables
.В конечном счете, однако,
iptables
для подключений IPv4,ip6tables
для подключений IPv6. Если вы хотите, чтобы вашиiptables
правила также применялись к IPv6, вы должны также добавить ихip6tables
.Если вы попытаетесь скопировать свой
iptables
набор правилip6tables
, не все правила, которыеiptables
могут сделать, будут аккуратно перенесеныip6tables
, но большинство из них это сделает.Обратитесь к странице справки,
ip6tables
если вы хотите убедиться, что команды, которые вы используете в своем,iptables
будут аккуратно перенесены.Если вы хотите, мы можем помочь вам создать эквивалентные
ip6tables
наборы правил, соответствующие вашимiptables
правилам, если вы предоставите свой список правил брандмауэра (удалив любую информацию, которая может идентифицировать систему нарушения). В противном случае мы можем ответить только на ваш общий вопрос.источник
ufw
и другие менеджеры брандмауэров, которые добавляют правила сами к обоим, соответственно. Однако проблема здесь не в том, может ли кто-нибудь с IPv6 увидеть мой сайт? большая проблема в том, есть ли в вашей системе адреса IPv6. Большинство подключений имеют IPv4 и IPv6 от клиентских компьютеров, таких как мой. Но если удаленный сервер не имеет общедоступного IPv6, то IPv4 подключен. Однако,ip6tables
насколько я понимаю, если у вас есть IPv6, вам следует добавить и правила .iptables
ANDip6tables
, и общие правила вроде бы-p tcp --dport
все еще будут работать, но более сложные правила могут не работать ... (например-j REJECT --reject-with [something]
)-j REJECT --reject-with icmp-host-prohibited
например, потому что пакет отклонения - это другое имя в IPv6)Как уже говорили другие, существуют разные таблицы брандмауэров для IPv4 и IPv6. Вы можете установить правила для IPv6, например, для IPv4, но есть большой риск, что вы испортите его, если не знаете IPv6. Мол, вы не можете отказаться
ICMP
от IPv6, так как там есть важные части рукопожатия. Например, сказать отправителю, что кадры слишком большие и т. Д. Без этого IPv6 может перестать работать для некоторых пользователей.Поэтому настоятельно рекомендуется использовать
ufw
пакет илиshorewall6
вместе сshorewall
. Наiptables
внешнем интерфейсеufw
поддерживает как IPv4 и IPv6 и отлично работает на серверах с одним или двумя интерфейсами , но не направляет трафик (работа в качестве маршрутизатора или шлюза). Если вы маршрутизируете трафик, вам нужно что-то лучше, например,shorewall
вручную добавить некоторые правила для переадресации с помощьюiptables
иip6tables
.Не забывайте, что вы можете иметь более одного IPv6-адреса на ваших интерфейсах. Некоторые из них являются только локальными ссылками, некоторые являются глобально статичными и динамическими. Таким образом, вы должны настроить правила соответствующим образом, а серверы будут прослушивать только правильные адреса.
источник