Я изо всех сил пытаюсь разрешить IPv6-соединения на моем сервере FreeBSD 10.
У меня есть работающее соединение IPv6. Но IPFW блокирует весь трафик IPv6.
#!/bin/sh
#
# flush existing rules
ipfw -q flush
# allow established connections
ipfw -q add 1 check-state
# allow loopback traffic
ipfw -q add 2 allow all from any to any via lo0
# allow previously established TCP connections
ipfw -q add 3 allow tcp from any to any established
#
# public services inbound: 22/tcp (SSH) and 80/tcp (HTTP)
ipfw -q add 60100 set 1 allow tcp from any to me 22 in setup keep-state
ipfw -q add 60101 set 1 allow tcp from any to me 80 in setup keep-state
#
# allow all traffic going out
ipfw -q add 200 set 1 allow udp from me to any out keep-state
ipfw -q add 201 set 1 allow tcp from me to any out setup keep-state
#
# allow common ICMP types in and out
ipfw -q add 400 set 1 allow icmp from me to any icmptypes 0,3,8,11,12,13,14
ipfw -q add 401 set 1 allow icmp from any to me icmptypes 0,3,8,11,12,13,14
#
# allow tcp connections out on backup interface
ipfw -q add 500 set 1 allow tcp from any to any out via re1 setup keep-state
#
# deny everything else coming in
#ipfw -q add 999 set 1 deny all from any to any
Как я могу включить IPv6 для http и imcp в этой настройке? Заранее спасибо!
Ваш IPv6-трафик не соответствует ни одному из правил, поэтому соответствует последнему правилу, которое является явным правилом запрета.
Сначала вам нужно убедиться, что IPFW обрабатывает трафик IPv6. Это делается путем включения его с помощью sysctl:
sysctl net.inet6.ip6.fw.enable=1
IPFW поддерживает различные ключевые слова IPv6, например me6
вместо того me
. Итак, вы можете добавить следующие правила:
ipfw -q add 60102 set 1 allow tcp from any to me6 80 in setup keep-state
ipfw -q add 60103 set 1 allow tcp from any to me6 22 in setup keep-state
Для получения дополнительной информации по этой теме вы можете обратиться к ФОРМАТ ПРАВИЛА раздел на ipfw(8)
страница руководства: https://www.freebsd.org/cgi/man.cgi?query=ipfw#RULE_FORMAT