因为某些逆天的背景, ipv6只能通过wifi访问, 而ipv4只能通过另一个wifi或者以太网访问, 于是得结合wifi/以太网共同实现双栈访问

先查看自己情况

1
2
# 查看当前默认网卡
netstat -rn | grep default

连接 WiFi ipv6, 以太网的ipv4
先ifconfig查看设备, 假设有线网卡id是en13, 无线网卡是en0, 则如下

1
2
3
4
5
6
7
#!/bin/zsh

#route -n delete default
#route -n add -inet default -interface en13
#route -n delete -inet6 default
# 前面的一般不用设置, 因为默认就是
route -n add -inet6 default -interface en0

或者关闭有线的v6, 不过没什么作用

1
2
networksetup -listallnetworkservices
networksetup -setv6off "USB 10/100/1000 LAN"

还有据说可以指定默认v6的网关, 不过在这里并没用

1
2
GATEWAY_IP=$(netstat -rn | grep 'default.*en0' | awk '{print $2}') sudo route -n add -inet default $GATEWAY_IP
sudo route -n add -inet6 default $GATEWAY_IP