开放主机网口给路由器共享网络

该方法适用于持续运行的服务器,或者将脚本设置为开机执行

Ubuntu服务器通过wifi连接网络,然后通过lan端口转发给路由器,其他设备在通过路由器连接网络,适合校园网账号限制情况

将本机的wifi端口开放到连接路由器的端口上

bash 复制代码
#!/bin/bash
# Wi-Fi (上行) -> LAN (下行) 转发脚本
# 需要 root 权限执行

# 出口网卡(Wi-Fi)
WAN="wlp4s0"
# 下行网卡(有线口)
LAN="enp7s0"

# LAN 静态 IP 配置
LAN_IP="192.168.50.1"
LAN_NETMASK="255.255.255.0"
LAN_DHCP_RANGE_START="192.168.50.100"
LAN_DHCP_RANGE_END="192.168.50.200"
LAN_DHCP_LEASE="12h"

echo "[INFO] 配置 LAN 接口 ${LAN} 静态 IP..."
ip addr flush dev $LAN
ip addr add ${LAN_IP}/24 dev $LAN
ip link set $LAN up

# 开启内核 IP 转发
echo "[INFO] 开启 IP 转发..."
sysctl -w net.ipv4.ip_forward=1

# 清理旧规则
echo "[INFO] 清理旧 iptables 规则..."
iptables -t nat -F
iptables -F

# 添加 NAT 转发规则
echo "[INFO] 添加 NAT 转发 ( ${WAN} -> ${LAN} ) ..."
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
iptables -A FORWARD -i $WAN -o $LAN -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT

# 检查并安装 dnsmasq
if ! command -v dnsmasq >/dev/null 2>&1; then
    echo "[INFO] 未检测到 dnsmasq,正在安装..."
    apt-get update && apt-get install -y dnsmasq
fi

# 临时配置 dnsmasq
echo "[INFO] 启动 dnsmasq 为下游设备提供 DHCP..."
pkill dnsmasq 2>/dev/null
dnsmasq \
  --interface=$LAN \
  --bind-interfaces \
  --dhcp-range=${LAN_DHCP_RANGE_START},${LAN_DHCP_RANGE_END},${LAN_NETMASK},${LAN_DHCP_LEASE} \
  --dhcp-option=3,${LAN_IP} \
  --dhcp-option=6,223.5.5.5,8.8.8.8 &

echo "[OK] Wi-Fi($WAN) -> LAN($LAN) 转发已启用"
echo "[OK] 下游设备将自动获取 IP (网关: ${LAN_IP})"

恢复脚本

bash 复制代码
#!/bin/bash
# Wi-Fi -> LAN 转发还原脚本
# 需要 root 权限执行

# 下行网卡(有线口)
LAN="enp7s0"

echo "[INFO] 停止 dnsmasq 服务..."
pkill dnsmasq 2>/dev/null

echo "[INFO] 关闭 IP 转发..."
sysctl -w net.ipv4.ip_forward=0

echo "[INFO] 清理 iptables 规则..."
iptables -t nat -F
iptables -F

echo "[INFO] 清理 LAN (${LAN}) 的 IP 配置..."
ip addr flush dev $LAN

echo "[OK] 网络已还原,下游设备不再通过 Ubuntu 上网"
相关推荐
treesforest1 小时前
做内容平台,IP地址精准定位和IP高精度定位查询怎么帮我们提升用户留存
网络·网络协议·tcp/ip
电商API_180079052471 小时前
电商ERP 自动同步订单功能实现拆解与技术手段
服务器·前端·网络·爬虫
云计算-Security1 小时前
分组交换的可靠性来自哪里?
网络·智能路由器
ward RINL1 小时前
# GPT-5.6-sol vs GPT-5.5 新题实测:非弹性碰撞物理题和稳定路由算法
网络·gpt·算法
wang_shu_mo_ran2 小时前
网络编程(二):UDP数据报在客户端与服务端之间的传输
网络·网络协议·udp
humors2212 小时前
【转帖】关于防范AI编程工具Claude Code安全后门隐患的风险提示
网络·安全·ai编程
深度智能科技2 小时前
IPv6无网络访问权限怎么解决?【图文讲解】Win10/Win11 IPv6无网络访问权限完整修复实操教程
网络·ipv6·深度c盘清理·ipv6协议开启自动获取ip·ipv6无网络访问权限·上不了网怎么办·防火墙拦截ipv6
梦帮科技3 小时前
Rust+Tauri+EVM:构建下一代内存安全级数字版权(DRM)主权音频网络与跨链金融系统的技术实践与全景架构
网络·安全·架构·rust·区块链·音视频·web3.py
mudtools3 小时前
HttpUtils:一个编译时生成的声明式 HTTP 客户端框架
网络·网络协议·http·.net
luj_176810 小时前
残熵算法实时化三大瓶颈突破
c语言·开发语言·网络·经验分享·算法