Linux 配置路由方式(临时以及永久)
配置路由方式
由于之前构建服务器需要实现内网之间联系,最后走到外网通讯如图。
网络简图可能有些地方画错了。如果发现麻烦各位提醒一下,我会修改的。谢谢
配置路由都是由 route 命令完成
1.查看路由命令
route -n 查看本机所有路由
ip route show 另外一种方式查看本机所有路由
ip route list 另外一种方式查看本机所有路由
ip route flush 清空路由表
参数: [dev ] 清空与某个接口相关联的—— 比如:ip route flush dev ens3f1
[via] 清空与某个网关相关联的—— 比如:ip route flush via 172.17.1.254
1.1 Centos Ubuntu 配置路由
添加临时路由:重启后马上失效
格式:route add [-net|-host] [netmask Nm] [gw Gw] [dev If] (可以忽略最后一个)
(添加临时路由):(net添加的ip 必须和 网关gw 在同一个网络 进行通讯)不然会报错
添加目标为 172.19.1.0 的路由 网关为 255.255.255.0 服务器通讯地址为172.16.87.254
route add -net 172.16.1.0 netmask 255.255.255.0 gw 172.19.84.254 dev eth0
添加默认临时路由:
网关:172.17.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.17.0.1
route add default gw 172.16.0.1
删除临时路由:
和配置路由一样 只是参数修改为 del
route del [-net|-host] [gw Gw] [netmask Nm] [[dev] If]
目标:192.168.0.0 网关:172.16.0.1 子网 255.255.255.0
route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
临时路由并不是长久之计。服务器也会有重启的一天嘛。我建议的是做一个永久的路由。
2. 添加Centos route永久路由
在Centos 配置路由路径 为
/etc/ sysconfig/network-scripts/route-IFACE (没有这个文件就新建一个)
注意 :有两种配置风格,但是不能一起使用!!!
(1)TARGET via GW
例如: 172.16.1.0 via GW 172.17.1.254 0.0.0.0/0 via 172.17.1.254 dev eth0
可以省略dev eth0 ,注意这里的掩码是0而不是32,因为这里是网段而不是路由
(2) 每三行定义一条路由 (推荐)
ADDRESS#=TARGET #表示数字
NETMASK#=mask
GATEWAY#=GW
例如: ADDRESS=172.16.1.0
NETMASK=255.255.255.0
GATEWAY=172.17.87.254
配置完成 使用 service network restart 重启网络服务
3. 添加Ubuntu route永久路由
在 Ubuntu 是修改路由参数(并非创建一个新的文件)
/etc/network/interfaces
(1 )每三行定义一条路由 在后面追加
ADDRESS#=TARGET #表示数字
NETMASK#=mask
GATEWAY#=GW
例如: ADDRESS=172.16.1.0
NETMASK=255.255.255.0
GATEWAY=172.17.87.254
配置完成 使用 service network restart 重启网络服务
4. 路由表参数
路由表net Destination \ Genmask gw \ netmask Gateway 组合成了一个网络。
Gateway就是网关,如果显示0.0.0.0表示该路由是直接由本机直接传送的;
如果显示ip,表示该路由需要经过路由器的帮助才能发出(通讯)。
U(route is up)该路由是启动的。
H(target is a host) 特定主机路由。
G(use Gateway) 需要通过外部的主机传递数据包。