服务器如何配置路由详细操作步骤讲解

服务器配路由,大多是网络不通之后才不得不去调整。比如一台机器装了两块网卡,一块对接内网,另一块连外网,默认情况下所有流量都会走外网通道,内网网段就没法访问;或是新增了一段网段,服务器不清楚该往哪个方向转发数据包,这时就需要手动配置,指定目标地址对应的下一跳设备。路由配置的核心其实很简单,就是确定目标网段使用哪一个网关,从哪一张网卡转发出去。

先查看当前路由状态,登录服务器,使用root账号或者带sudo权限的账号操作。Linux系统执行 ip route show 查看最直观,输出内容里 default via 192.168.1.1 dev eth0 代表默认路由,所有不匹配其他路由规则的流量都会走这条。192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 是同网段直连路由。老旧系统可以用 route -n,输出结果相近,Flags标识里U代表网卡启用,G表示需要经过网关转发。先确认现有路由信息,再动手修改。

服务器如何配置路由详细操作步骤讲解

临时新增路由,直接使用 ip route add 命令。举例,要让 10.10.0.0/16 网段经由网关 192.168.2.1,从 eth1 网卡转发,命令写为:ip route add 10.10.0.0/16 via 192.168.2.1 dev eth1。新增默认路由的写法:ip route add default via 192.168.2.1 dev eth1。如果系统已经存在默认路由,执行会提示条目已存在,需要先删除旧路由:ip route del default,删除完成后再添加新条目。需要留意,ip route 配置属于临时生效,服务器重启之后配置就会丢失,适合做测试验证,确认连通正常之后再设置永久路由。

配置完成立刻做验证。ip route get 10.10.0.5 可以查看访问这个目标地址实际匹配的路由条目。ping 10.10.0.5 测试连通状态,traceroute 10.10.0.5 跟踪数据包转发路径。目标地址属于外网的场景,执行 curl ifconfig.me 确认出口IP是否符合预期。这几组命令可以快速判断路由规则是否生效。

永久保存路由的方式,要看服务器发行版以及当前启用的网络管理组件。Ubuntu 18.04及以上版本默认采用Netplan,配置文件存放于 /etc/netplan/ 目录,一般为yaml格式。找到对应网卡配置,在 ethernets 节点下添加 routes。示例如下: network: version: 2 ethernets: eth1: addresses: [192.168.2.100/24] routes: - to: 10.10.0.0/16 via: 192.168.2.1 配置默认路由时,写为 to: default via: 192.168.2.1。修改完成执行 netplan apply 加载配置。CentOS 7/8和RHEL系列,在 /etc/sysconfig/network-scripts/ 目录新建 route-eth1 文件,填入内容 10.10.0.0/16 via 192.168.2.1 dev eth1。也可以使用 nmcli 添加:nmcli connection modify eth1 +ipv4.routes "10.10.0.0/16 192.168.2.1",之后执行 nmcli connection up eth1 重载网卡。老版本Debian系统,在 /etc/network/interfaces 文件写入 up ip route add ...。无论选用哪种方式,修改完毕重启网络服务,再执行 ip route show 核对配置。

多网卡搭配多网关的场景会更复杂。Linux系统默认只使用一张主路由表,仅支持一条默认路由。如果需要让网卡A收到的流量走网关A,网卡B收到的流量走网关B,就得启用策略路由。先创建自定义路由表,例如 table 100。在 /etc/iproute2/rt_tables 新增一行 100 custom。接着执行 ip route add default via 192.168.2.1 dev eth1 table custom,再运行 ip rule add from 192.168.2.100 table custom,含义是源地址为 192.168.2.100 的数据包,查询custom这张路由表。最后增加 ip rule add from all lookup main 作为兜底规则。这类策略路由重启后同样失效,可以写入systemd服务单元或者 /etc/rc.local 实现开机加载。Ubuntu Netplan也支持 routing-policy,但语法相对繁琐,不经常维护的话,用脚本实现会更容易看懂。

Windows服务器配置路由使用 route 命令。route print 查看当前路由表。临时添加路由:route add 10.10.0.0 mask 255.255.0.0 192.168.2.1。永久保存路由,增加 -p 参数:route add 10.10.0.0 mask 255.255.0.0 192.168.2.1 -p。删除路由命令:route delete 10.10.0.0。默认路由对应的网段是 0.0.0.0 mask 0.0.0.0。修改默认路由前要慎重,一旦配置出错,远程桌面连接会直接断开,建议优先用本地控制台或者带外管理操作。

修改默认路由属于高风险操作。SSH远程连接服务器时,执行命令后流量切换至新网关,如果新网关无法连通,连接会直接中断,甚至无法再次接入。稳妥做法是先用 ip route add 添加测试路由,不改动默认路由,确认目标网段访问正常,再调整默认路由。更稳妥的方案是设置定时回滚任务,借助 at 或者 sleep 300 && ip route del default && ip route add default via 旧网关,预留恢复通道。就算网络断开,等待五分钟配置会自动还原。

还有不少高频踩坑点。网关IP必须和网卡IP处于同一网段,否则路由添加失败,提示 Nexthop has invalid gateway。服务器开启防火墙的情况下,转发数据包可能被拦截,需要执行 iptables -A FORWARD -j ACCEPT 或者在firewalld里放行转发策略。路由改动之后DNS解析可能异常,域名打不开时检查 /etc/resolv.conf。多网卡环境下源IP选择容易出问题,用 ip route get 确认数据包选用的源地址,不符合预期可以增加 src 参数手动指定。

配置路由本身命令不难,难点在于理清数据包转发路径。先简单绘制拓扑图,标注网卡、IP、网关、目标网段,再执行命令。每调整一步就做一次验证,不要一次性全部修改完成再排查故障。出现异常优先执行 ip route show 和 ip rule show,核对路由与策略规则,路由表记录的规则,就决定了流量走向。

免责声明:本文提供的方法与建议仅供技术参考,实际部署效果受机房环境、运营商线路、系统配置等多重因素影响。请在专业人员指导下操作,因自行操作导致的业务损失本站不承担责任。

相关推荐

动态IP服务器是什么 动态IP工作模式详解

动态IP服务器,简单来说就是服务器公网IP不会永久固定。每次联网、重启设备,或是等待一段时间,获取的公网IP就会改变。静态IP与之相反,地址长期不变,适合对外提供稳定服务。动态IP由网络DHCP服

服务器有什么作用 服务器功能与用途详解

服务器平时看不见,但大量业务离不开它。它和家用电脑本质差别不在硬件配置高低,而是放置在机房,持续连接网络,常年保持开机,等待外部访问请求。打开网站,背后有服务器响应;发送消息,消息先上传服