# 先到上游机子配置 NAT 转发

ip link add dnstream type gretap local # remote #
ip addr add 10.0.0.2 peer 10.0.0.1 dev dnstream
ip link set dnstream up
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
### eth0 为上游机子外网网卡

# 下面命令在下游机子操作

## 创建本地路由表(这条只需要执行一次)
echo 200 local >> /etc/iproute2/rt_tables
### 后续命令每次重启要重新执行

## 建立隧道
ip link add upstream type gretap local # remote #
ip addr add 10.0.0.1 peer 10.0.0.2 dev upstream
ip link set upstream up

## 配置本地路由表
ip rule add to # table loacl
ip rule add to # table loacl
ip rule add from # table loacl

## 导入其他直连网段,如 Cloudflare 的,效果为 cf 回源直连
cat local.txt | while read line
do
ip rule add to $line table loacl;
done

## 查看本机默认路由,写进 local 路由表
ip route | grep default
ip route add default via # dev # table local
### 直接复制 via 后面那段,前面加上 ip ro add default 最后加上 table local 就好了

## 删除默认路由并切换到上游服务器
ip route del default && ip route add default via 10.0.0.2 dev upstream src 10.0.0.1
### 这段必须 && 同时输入,删除默认路由会断网,SSH 断开
###(也可以把自家网段加进 local 表再操作,避免失误断网

## 验证配置是否生效
curl ipv4.ip.sb

Follow

补充

1. 上游机子需要开启 net.ipv4.ip_forward = 1 转发

2. ip route change default ... 就可以切换默认路由了

Sign in to participate in the conversation
呜呜 w(> ʌ <)w

一个 泛ACGN 实例,讨论主题不限 ~