笔记 | 内网服务器通过wifi穿透,设置流量走向

仅作为自己笔记查看,无任何参考价值

ubuntu服务器插着内网的网线,为内网提供服务,然后我还有一台用来做穿透的路由器通过发射wifi来连接服务器。如果拔掉内网网线,那么我在外网可以通过路由器访问它,一旦插上内网的网线,我在外面就不通了。

  1. 路由优先级 :由于有两个默认路由,eno1(内网)和 wlp2s0(外网)都有默认路由,但它们的 metric 值不同。其中 eno1 的 metric 值是 100,而 wlp2s0 是 600。这意味着系统倾向于使用 eno1 的路由。

  2. 流量方向 :当有流量从外网到达您的服务器时,流量会通过 wlp2s0 接口,而回复的流量可能会被路由到 eno1 接口,这可能会导致连接不通。

bash 复制代码
ip route

输出如下:

aa@aa:~$ ip route

default via 192.168.99.253 dev eno1 proto dhcp metric 100

default via 192.168.3.253 dev wlp2s0 proto static metric 600

169.254.0.0/16 dev wlp2s0 scope link metric 1000

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

172.18.0.0/16 dev br-dd119850bf83 proto kernel scope link src 172.18.0.1

192.168.3.0/24 dev wlp2s0 proto kernel scope link src 192.168.3.10 metric 600

192.168.99.0/24 dev eno1 proto kernel scope link src 192.168.99.159 metric 100

eno1是内网,这是一定要通的。wlp2s0是连接外网路由器的

创建路由表

编辑 /etc/iproute2/rt_tables 文件,添加一个新的路由表,例如:

bash 复制代码
echo "200 external" | sudo tee -a /etc/iproute2/rt_tables

添加路由

添加 wlp2s0 接口的路由到这个新表中:

bash 复制代码
sudo ip route add default via 192.168.3.253 dev wlp2s0 table external

设置策略路由

设置流量到 192.168.3.0/24 网络使用主路由表,其他流量使用 external 表:

bash 复制代码
sudo ip rule add from 192.168.3.10 lookup external sudo ip rule add from 192.168.99.159 lookup main

此设置将确保来自外网的流量通过 wlp2s0 接口路由,而内网流量仍然通过 eno1 接口路由。

10分钟自检脚本

bash 复制代码
#!/bin/bash

# 检查路由规则是否存在
if ! ip rule show | grep -q "from 192.168.3.10 lookup external"; then
    # 如果不存在,则添加规则
    ip rule add from 192.168.3.10 lookup external
fi

if ! ip rule show | grep -q "from 192.168.99.159 lookup main"; then
    # 如果不存在,则添加规则
    ip rule add from 192.168.99.159 lookup main
fi

# 检查路由表是否存在
if ! ip route show table external | grep -q "default via 192.168.3.253"; then
    # 如果不存在,则添加路由
    ip route add default via 192.168.3.253 dev wlp2s0 table external
fi

done.

相关推荐
崎岖Qiu6 分钟前
【设计模式笔记26】:深入浅出「观察者模式」
java·笔记·观察者模式·设计模式
jiecy9 分钟前
IPv6 过渡 - 隧道技术
运维·网络·信息与通信
Noushiki9 分钟前
RabbitMQ 基础 学习笔记1
笔记·学习·rabbitmq
oMcLin16 分钟前
CentOS 7.9 使用 SELinux 时无法访问特定目录:如何配置 SELinux 策略允许访问
linux·运维·centos
geniuscrh18 分钟前
自建Tailscale的Derp服务器
运维·服务器
冷雨夜中漫步21 分钟前
Kubernetes入门笔记 ——(4)Windows搭建k8s测试集群
windows·笔记·kubernetes
我命由我1234522 分钟前
Photoshop - Photoshop 工具栏(53)画板工具
笔记·学习·职场和发展·求职招聘·职场发展·学习方法·photoshop
QT 小鲜肉23 分钟前
【Linux命令大全】001.文件管理之whereis命令(实操篇)
linux·运维·服务器·网络·笔记
乾元26 分钟前
AI 在 BGP 池管理与路由安全(RPKI / ROA)中的自动化运用——服务提供商网络中“可验证路由”的工程化实现
运维·服务器·网络·人工智能·网络协议·安全·自动化
莫生灬灬35 分钟前
VueMultiBrowser - 开源多浏览器管理器
运维·开发语言·chrome·c#·自动化·vue