我有两个虚拟机(服务器,客户端)与有线vpn。当我尝试平平来自客户端包的任何IPv6资源时,都不会返回到客户端。
Tcpdump向我展示了enp0s3接口(服务器)中的ICMP应答包,而不是wg0 (服务器上的vpn接口)。但是,如果禁用nftable并启动ip6tables,则所有操作都正常。在这一步之后,我禁用ip6tables并启用nftable..。一切都在继续..。
软件版本:
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在这里,无文件:
使用下面的命令创建虚拟机:
服务器:
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“联合国规则”:
服务器:
客户端:
输出ip a,IP-6路由,路由-6,wg,sysctl -a,dmesg,lsmod.
服务器:
客户端:
从客户端转储日志。Ping IPv6地址2001:19f0:7400:87a2::64 (https://ipv6.net/)
来自/proc/net/nf_conntrack的输出:
与nftable:
使用ip6tables:
在nftable中,Snat不能正常工作。但是,在接下来的步骤之后工作:
[root@nixos:~]# systemctl stop nftables
[root@nixos:~]# ip6tables -t nat -A POSTROUTING -o enp0s3 -j SNAT --to-source 2a01:4f8:xx:xx::10发布于 2017-07-17 14:33:31
解决了。http://marc.info/?l=netfilter-devel&m=150027256708621&w=2
您可能缺少应答NAT链,这需要注册。https://wiki.nftables.org/wiki-nftables/index.php/Performing_网络_地址_翻译_(NAT),我现在正在更新wiki,用粗体表示。
https://serverfault.com/questions/861375
复制相似问题