# 创建新的路由表 echo "100 out79_ens3" | tee -a /etc/iproute2/rt_tables # 将路由添加到该表中(请将下面的子网和网关地址替换为你 VPS 的实际配置) ip -4 route replace 160.19.79.0/24 dev ens3 table out79_ens3 ip -4 route replace default via 160.19.79.1 dev ens3 table out79_ens3
为每个 IP 分配路由规则
接下来我们指定:如果数据从 IP .28 发出,则使用上面创建的路由表;若来自 IP .99,同样走该路由表。这样可以确保网络流量的路径一致。
# 删除旧的规则以避免重复 ip -4 rule del pref 1001 2>/dev/null || true ip -4 rule del pref 1002 2>/dev/null || true # 为每个特定IP添加新规则 ip -4 rule add pref 1001 from 160.19.79.28/32 lookup out79_ens3 ip -4 rule add pref 1002 from 160.19.79.99/32 lookup out79_ens3
(注意:请将示例中的 160.19.79.28 与 160.19.79.99 替换为你的实际 IP 地址。)
测试网络连接(Outbound Test)
为了确保路由配置已正确生效,我们可以创建一个快速检测脚本。
该脚本会分别使用每个 IP 执行 Ping 与 Curl 测试,以确认网络是否连通。
创建脚本文件:test_outbound.sh 然后粘贴以下内容:
#!/bin/bash echo "====== IPv4 Outbound Test Report ======" date echo
# 请将以下 IP 地址列表替换为您的 IP 地址
for ip in 160.19.79.16 160.19.79.28 160.19.79.99; do echo ">>> Testing outbound via $ip" echo -n "Ping test: " ping -I $ip -c 2 -W 2 8.8.8.8 >/dev/null 2>&1 && echo "OK" || echo "FAIL" echo -n "TCP test to 1.1.1.1:443: " timeout 5 bash -lc "exec 3<>/dev/tcp/1.1.1.1/443" 2>/dev/null && echo "OK" || echo "FAIL" echo -n "HTTP test: " curl -s --max-time 5 --interface $ip https://api64.ipify.org || echo "FAIL" echo -e "\n" done echo "====== Test Finished ======"