使用tunnelbroker添加一个ipv6,同时保留原生ipv6

有时间再细写。自己参考着自己改成自己的。不会的问AI

此方法可保留所有IPV6,并且可以使用任意一个ipv6入站(即可ping通,可tcp通)

找自己的网卡配置在哪 /etc/network

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto ens3
iface ens3 inet dhcp
iface ens3 inet6 static
    address 2604:2dc0:202:300::1065/128
#	address 2001:470:b:79a::1/64
#    gateway 2604:2dc0:202:300::1

    # 接口启动后,为这个接口设置专门的路由表
    # '100' 是我们自定义的路由表ID,你可以换成别的数字
    post-up ip -6 route add 2604:2dc0:202:300::1 dev ens3 table 100
    post-up ip -6 route add default via 2604:2dc0:202:300::1 dev ens3 table 100
    
    # 添加路由规则:从原生IPv6地址发出的流量,使用表 '100'
    post-up ip -6 rule add from 2604:2dc0:202:300::1065/128 table 100
    
    # 接口关闭时,删除对应的规则和路由,保持干净
    pre-down ip -6 rule del from 2604:2dc0:202:300::1065/128 table 100
    pre-down ip -6 route flush table 100

    # --- 【he/64】为 ens3 绑定 HE 的路由块 IP ---
    # 这个 IP 是 HE 分配的,但需要绑定在物理网卡上才能使用
    post-up ip -6 addr add 2001:470:b:79a::1/64 dev ens3
    
    # --- 【he/64】为这个新 IP 添加策略路由规则,让其流量走 HE 隧道 (table 101) ---
    post-up ip -6 rule add from 2001:470:b:79a::1/64 table 101
    
    # --- 【he/64】接口关闭时,清理对应的 IP 和规则 ---
    pre-down ip -6 rule del from 2001:470:b:79a::1/64 table 101
    pre-down ip -6 addr del 2001:470:b:79a::1/64 dev ens3

auto he-ipv6
iface he-ipv6 inet6 static
    address 2001:470:a:79a::2
    netmask 64
#    gateway 2001:470:a:79a::1

	# 使用 pre-up 和 post-down 手动管理隧道
	pre-up ip tunnel add he-ipv6 mode sit remote 216.218.226.238 local 51.81.187.16 ttl 255
	pre-up ip link set he-ipv6 up
	
    # 接口启动后,为隧道设置专门的路由表
    # '101' 是我们为隧道定义的路由表ID
    post-up ip -6 route add 2001:470:a:79a::1 dev he-ipv6 table 101
    post-up ip -6 route add default via 2001:470:a:79a::1 dev he-ipv6 table 101

    # 添加路由规则:从隧道IPv6地址发出的流量,使用表 '101'
    post-up ip -6 rule add from 2001:470:a:79a::2/128 table 101

    # 接口关闭时,删除规则、路由和隧道
    pre-down ip -6 rule del from 2001:470:a:79a::2/128 table 101
    pre-down ip -6 route flush table 101
    post-down ip link set he-ipv6 down
    post-down ip tunnel del he-ipv6