У меня есть две виртуальные машины (сервер, клиент) с защитой vpn. Когда я пытаюсь выполнить эхо-запрос любого ресурса IPv6 из клиентских пакетов, он не возвращается.
Tcpdump показывает мне ответные пакеты ICMP в интерфейсе enp0s3 (сервер), а не в wg0 (интерфейс vpn на сервере). Но если отключить nftables и запустить ip6tables, все работает. После этого шага я отключаю ip6tables и включаю nftables ... Все продолжает работать ...
Версии программного обеспечения:
NixOS: 17.09.git.ebaff59 (Hummingbird)
WireGuard: 0.0.20170706
Nftables: 0.7
Создайте образы ISO с помощью следующих команд:
Сервер:
nix-build -A config.system.build.isoImage -I nixos-config=./wireguard_server_10.nix ./nixpkgs/nixos/default.nix
Клиент:
nix-build -A config.system.build.isoImage -I nixos-config=./wireguard_client_20.nix ./nixpkgs/nixos/default.nix
Здесь nix файлы :
Создайте виртуальные машины с помощью следующих команд:
Сервер:
virt-install \
--name NixOSVS10 \
--ram 1024 \
--vcpus 1 \
--cdrom /tmp/nixos_10.iso \
--os-type linux \
--nodisk \
--network bridge=br0 \
--graphics vnc,password="ABCDEF",port=5910,listen=2a01:4f8:xx:xx::13 \
--autostart \
--noautoconsole
Клиент:
virt-install \
--name NixOSVS20 \
--ram 1024 \
--vcpus 1 \
--cdrom /tmp/nixos_20.iso \
--os-type linux \
--nodisk \
--network bridge=br0 \
--graphics vnc,password="ABCDEF",port=5920,listen=2a01:4f8:xx:xx::13 \
--autostart \
--noautoconsole
Правила Nftables:
Сервер:
Клиент:
Сервер:
Клиент:
Журналы Tcpdump от клиента. Пинг IPv6-адрес 2001: 19f0: 7400: 87a2 :: 64 ( https: //ipv6.net/)[1257ptinghttps://gist.github.com/MrSorcus/03e716fba67c4119772012777847c569
Вывод из / proc / net / nf_conntrack:
С nftables:
С ip6tables:
не работает правильно. Но работайте после следующих шагов:
[root@nixos:~]# systemctl stop nftables
[root@nixos:~]# ip6tables -t nat -A POSTROUTING -o enp0s3 -j SNAT --to-source 2a01:4f8:xx:xx::10
Решено. http://marc.info/?l=netfilter-devel&m=150027256708621&w=2
Вероятно, вам не хватает цепочки NAT ответов, которую необходимо зарегистрировать.
Я сейчас обновляю вики, чтобы выделить это жирным шрифтом.