snf在nftables中有什么错误?

我有两个虚拟机(服务器,客户端)与防火墙VPN。 当我尝试ping从客户端数据包的任何IPv6资源不会返回到客户端。

Tcpdump在enp0s3接口(服务器)中显示ICMP应答数据包,而不是在wg0(服务器上的vpn接口)。 但是,如果禁用nftables并启动ip6tables,一切正常。 经过这一步,我禁用ip6tables和启用nftables …所有继续工作…

软件版本:

NixOS: 17.09.git.ebaff59 (Hummingbird) WireGuard: 0.0.20170706 Nftables: 0.7 

使用下一个命令构buildISO映像:

服务器:

 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文件:

  • https://gist.github.com/MrSorcus/d6d8b8b6acff715368844a643775c980

使用下一个命令创build虚拟机:

服务器:

 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规则:

服务器:

  • https://gist.github.com/MrSorcus/17827298ad81970cc272b9e7f779923f

客户:

  • https://gist.github.com/MrSorcus/ad05f19759e02f92aac5d9c246f56cf6

输出为ip a,ip -6路由,路由-6,wg,sysctl -a,dmesg,lsmod。

服务器:

  • https://gist.github.com/MrSorcus/1a8c9f5aacf8957502299d707a38c5fc

客户:

  • https://gist.github.com/MrSorcus/b7dc077249ca513ca8f307a68c62d1ce

来自客户端的Tcpdump日志。 Ping IPv6地址2001:19f0:7400:87a2 :: 64( https://ipv6.net/ )

  • https://gist.github.com/MrSorcus/03e716fba67c4119772012777847c569

从/ proc / net / nf_conntrack输出:

用nftables:

  • https://gist.github.com/MrSorcus/601170680ff644c52a11e5352997879a

用ip6tables:

  • https://gist.github.com/MrSorcus/e043101f98e787c8cbf6d0605fd9de7e

Snat在nftables中无法正常工作。 但是下一步工作之后:

 [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

您可能缺less需要注册的答复NAT链。

https://wiki.nftables.org/wiki-nftables/index.php/Performing_Network_Address_Translation_(NAT)

我正在更新维基,把它放在粗体中。