나는 기존 작업 ipv4 nat에 ipv6을 추가하고 싶습니다. 이는 proxmox 호스트이고 클라이언트는 가상 머신입니다.
nat 장치(proxmox 호스트)에 해당 파일을 추가하여 작동시키려고 했습니다. /etc/network/interfaces 파일은 이제 다음과 같습니다:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto eno1
iface eno1 inet static
address 124.202.254.99
netmask 255.255.255.192
gateway 126.202.254.129
up route add -net 116.202.254.128 netmask 255.255.255.192 gw 116.202.254.129 dev eno1
iface eno1 inet6 static
address 2a01:4f8:543:4122::12
netmask 64
gateway fe80::1
auto vmbr0
iface vmbr0 inet static
address 192.168.20.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.20.0/24' -o eno1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.20.0/24' -o eno1 -j MASQUERADE
post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1
# Port 80 (http)
post-up iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 80 -j DNAT --to-destination 192.168.20.200
post-down iptables -t nat -D PREROUTING -i eno1 -p tcp --dport 80 -j DNAT --to-destination 192.168.20.200
# Port 443 (https)
post-up iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 443 -j DNAT --to-destination 192.168.20.200
post-down iptables -t nat -D PREROUTING -i eno1 -p tcp --dport 443 -j DNAT --to-destination 192.168.20.200
iface vmbr0 inet6 static
address fcc9::1
netmask 64
bridge_ports none
bridge_stp off
bridge_fd 0
# Port 80 (http) - hex c8 is 200 decimal!
post-up ip6tables -t nat -A PREROUTING -i eno1 -p tcp --dport 80 -j DNAT --to-destination fcc9::c8
post-down ip6tables -t nat -D PREROUTING -i eno1 -p tcp --dport 80 -j DNAT --to-destination fcc9::c8
# Port 443 (https) - hex c8 is 200 decimal!
post-up ip6tables -t nat -A PREROUTING -i eno1 -p tcp --dport 443 -j DNAT --to-destination fcc9::c8
post-down ip6tables -t nat -D PREROUTING -i eno1 -p tcp --dport 443 -j DNAT --to-destination fcc9::c8
클라이언트의 /etc/network/interfaces는 다음과 같습니다.
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug ens18
iface ens18 inet static
address 192.168.20.200/24
gateway 192.168.20.1
# dns-* options are implemented by the resolvconf package, if installed
# put nameservers in /etc/resolv.conf
iface ens18 inet6 static
address fcc9::c8
netmask 64
gateway fcc9::1
proxmox 호스트에서 나는 달렸다sysctl -w net.ipv6.conf.all.forwarding=1
proxmox 호스트에서 ipv6가 있는 인터넷의 모든 호스트로 ping6을 보낼 수 있습니다. 클라이언트에서도 ping을 할 수 fcc9::1
있고 클라이언트에서도 ping할 수 있지만 클라이언트에서는 ping할 수 2a01:4f8:543:4122::12
없습니다 . google.com
주소가 올바르게 확인됩니다.