- IPv4 шлюз натится PF'ом (без сквида, абиллса и пр.);
- IPv6 нативный (не туннель) для всех.
Не могу понять, или что-то не так настроил.
IPv4 работает отлично, на внешнем фейсе реальный адрес, пользователям в сети по DHCP выдается фейковый, все работает.
Провайдер выдал пул IPv6 в таком виде:
- Ip моего роутера 2a03:XXXX:XXXX:XXXX::1
- Шлюз моего роутера 2a03:XXXX:XXXX:XXXX::fffe
- сеть за роутером 2a03:XXXX:XXXX:YYYY::/64
Прописал у себя:
/etc/rc.conf
Код: Выделить всё
### IPv6 ###
ipv6_activate_all_interfaces="YES"
ip6addrctl_enable="YES"
ip6addrctl_policy="ipv6_prefer"
ifconfig_em0_ipv6="inet6 2a03:XXXX:XXXX:XXXX::1 prefixlen 48"
ifconfig_re0_ipv6="inet6 2a03:XXXX:XXXX:YYYY::fffe prefixlen 64"
ipv6_defaultrouter="2a03:XXXX:XXXX:XXXX::fffe"
ipv6_gateway_enable="YES"
rtadvd_enable="YES"
rtadvd_interfaces="re0"
Код: Выделить всё
re0:
:addr="2a03:XXXX:XXXX:YYYY::":prefixlen#64:
Код: Выделить всё
net.inet.ip.forwarding: 1
net.inet6.ip6.forwarding: 1
Код: Выделить всё
int_if="re0"
ext_if="em0"
int_ip="10.XXX.XXX.254"
int_net="10.XXX.XXX.0/24"
icmp_types_ext_if="{ echoreq }" # ping
icmp6_types="{ 2, 128 }" # packet too big, echo request (ping6)
# Neighbor Discovery Protocol (NDP) (types 133-137):
# Router Solicitation (RS), Router Advertisement (RA)
# Neighbor Solicitation (NS), Neighbor Advertisement (NA)
# Route Redirection
icmp6_types_ext_if="{ 128, 133, 134, 135, 136, 137 }"
tcp46_services="{ }" # we allow this in for ALL machines for TCP[46]
tcp46_services_ext_if="{ 25, 47, 53, 443, 80, 110, 465, 587, 993, 995, 1723, 5005, 5006, 8100, 5060, 5061, 5062, 5063, 3478, 8000, 8001, 8002, 8003, 8004, 8005 }"
udp_services_ext_if="{ 53, 123, 5060, 5061, 5062, 5063, 3478, 8000, 8001, 8002, 8003, 8004, 8005 }" # DNS, NTP, OpenVPN, vpbx
udp6_services_ext_if="{ 53, 123, 546 }" # 546 == dhcpv6-client
# options
set block-policy return
set loginterface $ext_if
set skip on lo
# scrub
scrub in
# nat/rdr
nat on $ext_if from $int_net -> ( $ext_if ) static-port
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
# UPnPd rdr anchor
rdr-anchor "miniupnpd"
# Anchors: ftp & miniupnp
anchor "ftp-proxy/*"
anchor "miniupnpd"
pass in quick on $int_if
pass out quick keep state
pass quick on $ext_if proto icmp6 all keep state
pass quick on lo proto icmp6 all keep state
pass out quick on $ext_if inet proto tcp from ( $ext_if ) to any
pass out quick on $ext_if inet proto udp from ( $ext_if ) to any
pass in quick on $ext_if inet proto tcp from any to ( $ext_if ) port $tcp46_services_ext_if flags S/SA keep state (max-src-conn 10, max-src-conn-rate 10/60)
pass in quick on $ext_if inet proto udp from any to ( $ext_if ) port $udp_services_ext_if keep state
pass in quick inet proto icmp all icmp-type $icmp_types_ext_if keep state
# IPv6
pass in quick on $ext_if inet6 proto ipv6-icmp icmp6-type $icmp6_types keep state
pass in quick on $ext_if inet6 proto ipv6-icmp from any to ($ext_if ) icmp6-type $icmp6_types_ext_if keep state
pass in quick on $ext_if inet6 proto tcp from any to ( $ext_if ) port $tcp46_services_ext_if flags S/SA keep state
pass in quick on $ext_if inet6 proto udp from any to ( $ext_if ) port $udp6_services_ext_if keep state
block in all
- с сервера наружу хожу по IPv6, kame.net показывает танцующую черепашку, все внешние сервисы для тестирования IPv6 меня пингуют, трассируют и т.д.;
- компьютеры локалки получают IPv6 адреса, я могу по IPv6 выйти на сервер (например по ССХ);
- никуда наружу по IPv6 попасть не могу.
Вероятно, где-то что-то пропустил:
ping ipv6.google.com
Код: Выделить всё
Pinging ipv6.l.google.com [2a00:1450:4010:c07::64] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Код: Выделить всё
11:54:06.336720 IP6 2a03:XXXX:XXXX:YYYY:91b7:35ad:adbe:319e > 2a00:1450:4010:c07::64: ICMP6, echo request, seq 1, length 40
11:54:11.048936 IP6 2a03:XXXX:XXXX:YYYY:91b7:35ad:adbe:319e > 2a00:1450:4010:c07::64: ICMP6, echo request, seq 2, length 40