服务器设置软路由教程
准备工作
在开始配置软路由之前,需要确保硬件和软件环境满足基本要求,选择一台性能适中的服务器作为软路由设备,建议至少配备双网卡(分别用于连接内网和外网),CPU核心数不少于2核,内存4GB以上,硬盘空间留有足够余量,操作系统方面,推荐使用Linux发行版(如Ubuntu Server、CentOS)或Windows Server系统,本文以Ubuntu Server 22.04为例进行讲解。

需提前准备以下信息:
- 网络拓扑规划:明确内网IP段(如192.168.1.0/24)、网关地址(如192.168.1.1)、DNS服务器地址(如8.8.8.8)。
- 服务器网络接口:通过
ip a命令识别内网和外网网卡名称(如eth0为外网,eth1为内网)。 - 管理员权限:确保使用root用户或具有sudo权限的账户操作。
网络基础配置
配置静态IP地址
软路由需要固定IP地址以避免网络变动导致服务中断,编辑网络配置文件(以Ubuntu为例):
sudo nano /etc/netplan/01-netcfg.yaml
``` 根据实际网卡调整):
```yaml
network:
version: 2
ethernets:
eth1: # 内网网卡
dhcp4: no
addresses: [192.168.1.1/24]
optional: true
eth0: # 外网网卡
dhcp4: no
addresses: [203.0.113.10/24] # 替换为实际公网IP
gateway4: 203.0.113.1 # 替换为实际网关
nameservers:
addresses: [8.8.8.8, 8.8.4.4] 保存后执行sudo netplan apply使配置生效。
启用IP转发
Linux系统默认禁止IP转发,需手动开启:
sudo nano /etc/sysctl.conf
取消注释或添加以下行:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1 执行sudo sysctl -p立即生效。
配置NAT(网络地址转换)
NAT用于实现内网设备通过服务器共享外网IP,使用iptables配置:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # 外网网卡 sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT # 允许内网访问外网 sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT # 允许外网响应
为避免重启后规则丢失,安装iptables-persistent并保存规则:
sudo apt install iptables-persistent sudo netfilter-persistent save
配置DHCP服务器(可选)
若需为内网设备自动分配IP,可安装isc-dhcp-server:
sudo apt install isc-dhcp-server
编辑配置文件:
sudo nano /etc/dhcp/dhcpd.conf
修改或添加以下内容:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8;
} 指定内网网卡(如eth1)并启动服务:
sudo nano /etc/default/isc-dhcp-server INTERFACESv4="eth1" sudo systemctl restart isc-dhcp-server
配置防火墙规则
为保障服务器安全,需限制非必要端口访问,使用ufw(Uncomplicated Firewall)管理规则:
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh # 允许SSH管理 sudo ufw allow 53 # 若运行DNS服务 sudo ufw allow 67/udp # 若运行DHCP服务 sudo ufw enable # 启用防火墙
验证与测试
- 连通性测试:在内网设备上设置网关为192.168.1.1,执行
ping 8.8.8.8验证外网连通性。 - NAT测试:访问
https://ifconfig.me查看内网设备出口IP是否为服务器公网IP。 - DHCP测试:重启内网设备,确认是否自动获取到192.168.1.x网段的IP。
高级优化
流量控制
使用tc(Traffic Control)限制内网设备带宽:

sudo tc qdisc add dev eth1 root handle 1: htb default 30 sudo tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit sudo tc class add dev eth1 parent 1:1 classid 1:10 htb rate 10mbit ceil 50mbit # 限制单个设备
VPN集成
通过WireGuard或OpenVPN为远程设备提供安全接入,例如安装WireGuard:
sudo apt install wireguard sudo wg-quick up wg0 # 启动配置文件
日志监控
使用syslog-ng或rsyslog记录防火墙和NAT日志,便于排查问题:
sudo apt install rsyslog sudo nano /etc/rsyslog.d/iptables.conf
添加:
msg,contains,"iptables" /var/log/iptables.log
& stop 常见问题排查
- 内网无法上网:检查
iptables规则是否正确,ip forwarding是否启用。 - DHCP分配失败:确认网卡配置与
dhcpd.conf一致,检查防火墙是否拦截67端口。 - 性能瓶颈:若并发连接数高,可升级服务器硬件或优化内核参数(如调整
net.core.somaxconn)。
通过以上步骤,即可完成基于服务器的软路由搭建,根据实际需求,可进一步集成广告过滤、QoS等功能,打造个性化网络环境,配置完成后,建议定期备份关键配置文件,并监控系统日志以确保长期稳定运行。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/129410.html




