LINUX.ORG.RU

nftables блокирует исходящий трафик по ipv6

 


0

1

Сабж. Со входящим трафиком никаких проблем нет, в отличии от исходящего. К открытым портам доступ есть. Проблема характерна только для ipv6, на v4 всё работает шикарно.

#!/usr/sbin/nft -f

flush ruleset

define base_ports = { ... }
define base_ports_udp = { ... }
table inet filter {
  chain input {
    type filter hook input priority 0; policy drop;
    ct state invalid drop
    ct state established,related accept
    iifname lo accept

    # ipv6
    ip6 saddr 200::/7 tcp dport 80 accept	# yggdrasil
    ip6 saddr 200::/7 reject 	                # yggdrasil

    ip6 nexthdr tcp tcp dport $base_ports accept
    ip6 nexthdr udp udp dport $base_ports_udp accept
    reject with icmpv6 type addr-unreachable

    # ipv4
    tcp dport $base_ports accept
    udp dport $base_ports_udp accept
    reject with icmp type host-unreachable
  }
}

Разделение конфига на две таблицы для каждого из протоколов никак на проблему не влияет. ЧЯДНТ?


нужно не забывать, что «arp» в ipv6 это icmp, без которого все быстро перестает работать

в ip6tables нужно явно разрешить

-A INPUT -s fe80::/10 -p icmpv6 -j ACCEPT
-A INPUT -d fe80::/10 -p icmpv6 -j ACCEPT
-A OUTPUT -s fe80::/10 -p icmpv6 -j ACCEPT
-A OUTPUT -d fe80::/10 -p icmpv6 -j ACCEPT

vel ★★★★★
()
Ответ на: комментарий от anonymous

Убирал - толку ноль. А в логах всё как-то не очень понятно:

[ 4170.785427] nft: IN= OUT=ens3 SRC=... DST=... LEN=80 TC=0 HOPLIMIT=64 FLOWLBL=614775 PROTO=TCP SPT=50742 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
[ 4170.785445] nft: IN= OUT=ens3 SRC=... DST=... LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0
ZSkunk
() автор топика
Ответ на: комментарий от ZSkunk

Убирал - толку ноль

Вообще это касается ICMP echo reply, я просто не знаю, как ты проверяешь.

А так выше сказали про ICMP — без него IPv6 будет сломан. Я лично предпочитаю разрешать ICMP и для v4,и для v6 без уточнений, но если хочется заморочиться, то можно посмотреть, например, документацию Mikrotik (Building Advanced Firewall) или стандартные правила UFW. Но, на мой взгляд, это больше фэн-шуй, нежели безопасность, и нет смысла резать ICMP.

anonymous
()