服务器测评网
我们一直在努力

Linux 路由器配置如何实现多wan口负载均衡?

Linux 路由器配置基础

Linux 凭借其稳定性、灵活性和免费开源的特性,常被用作企业或家庭网络中的路由器,通过简单的配置,Linux 系统可以实现数据包转发、网络地址转换(NAT)、防火墙控制等功能,本文将详细介绍 Linux 路由器的配置步骤,包括系统准备、网络配置、IP 转发启用、NAT 设置以及防火墙配置等关键环节。

Linux 路由器配置如何实现多wan口负载均衡?

系统准备与环境搭建

在开始配置之前,需确保 Linux 系统已安装并更新至最新版本,推荐使用 Ubuntu Server、CentOS 或 Debian 等服务器版操作系统,这些系统自带命令行工具,便于高效配置,通过 ip addr 查看系统网卡信息,通常至少需要两块网卡:一块连接外网(如 eth0),另一块连接内网(如 eth1),若为虚拟机,可通过网络适配器配置桥接或 NAT 模式实现内外网连接。

安装必要的网络工具,如 net-tools(提供 ifconfigroute 等命令)和 iptables(防火墙与 NAT 工具),以 Ubuntu 为例,执行以下命令:

sudo apt update && sudo apt install net-tools iptables -y  

网络接口配置

网络接口是路由器与内外网通信的桥梁,需为内外网接口分配 IP 地址,并确保子网不冲突,以 eth0(外网)和 eth1(内网)为例,使用 ip addr 命令配置静态 IP:

sudo ip addr add 192.168.1.1/24 dev eth0  # 外网接口,假设运营商分配的网段  
sudo ip addr add 192.168.100.1/24 dev eth1 # 内网接口,内网网段  
sudo ip link set eth0 up  
sudo ip link set eth1 up  

为使配置永久生效,需修改网络配置文件,在 Ubuntu 中,编辑 /etc/netplan/01-netcfg.yaml;在 CentOS 中,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0ifcfg-eth1,设置 BOOTPROTO=static 并指定 IP、子网掩码和网关。

启用 IP 转发功能

Linux 默认禁止系统作为路由器转发数据包,需手动开启内核参数,通过以下命令临时启用:

sudo sysctl -w net.ipv4.ip_forward=1  

为永久生效,编辑 /etc/sysctl.conf 文件,添加或取消注释以下行:

net.ipv4.ip_forward=1  

保存后执行 sudo sysctl -p 加载配置。

Linux 路由器配置如何实现多wan口负载均衡?

配置 NAT 实现共享上网

NAT(网络地址转换)允许多台内网设备通过单个公网 IP 访问互联网,使用 iptablesnat 表配置 SNAT(源地址转换)或 MASQUERADE(动态地址转换),以 MASQUERADE 为例,适用于动态公网 IP:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  

若公网 IP 固定,可使用 SNAT:

sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.100  

保存 iptables 规则,防止重启失效,Ubuntu 中使用 iptables-persistent

sudo apt install iptables-persistent -y  
sudo netfilter-persistent save  

配置防火墙与端口转发

防火墙是保障网络安全的重要组件,通过 iptables 设置默认策略,仅允许必要端口通过:

sudo iptables -P INPUT DROP  
sudo iptables -P FORWARD DROP  
sudo iptables -P OUTPUT ACCEPT  

放行内网设备访问外网的规则:

sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT  
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT  

若需将内网服务映射到公网(如 Web 服务器),可配置端口转发,将公网 8080 端口转发至内网 168.100.10 的 80 端口:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.100.10:80  

动态路由与 DHCP 服务(可选)

若网络规模较大,可启用动态路由协议(如 OSPF 或 BGP),但家庭或小型企业通常使用静态路由即可,对于内网设备,可配置 DHCP 服务自动分配 IP,以 Ubuntu 为例,安装 isc-dhcp-server

Linux 路由器配置如何实现多wan口负载均衡?

sudo apt install isc-dhcp-server -y  

编辑 /etc/dhcp/dhcpd.conf,配置内网网段:

subnet 192.168.100.0 netmask 255.255.255.0 {  
    range 192.168.100.100 192.168.100.200;  
    option routers 192.168.100.1;  
    option domain-name-servers 8.8.8.8;  
}  

启动服务并设置为开机自启:

sudo systemctl enable isc-dhcp-server  
sudo systemctl start isc-dhcp-server  

测试与故障排查

配置完成后,需测试路由器功能,从内网设备 ping 公网 IP(如 8.8.8),检查是否能正常通信;使用 traceroute 命令查看数据包路径是否经过 Linux 路由器,若无法上网,检查:

  1. 网卡 IP 配置是否正确;
  2. IP 转发是否启用;
  3. NAT 规则是否生效(sudo iptables -t nat -L -v);
  4. 防火墙是否拦截流量(sudo iptables -L -v)。

通过以上步骤,即可搭建一台功能完善的 Linux 路由器,根据实际需求,可进一步优化防火墙规则、添加 QoS 限速或配置 VPN 服务,提升网络的安全性与灵活性。

赞(0)
未经允许不得转载:好主机测评网 » Linux 路由器配置如何实现多wan口负载均衡?