centos 默认路由 支持docker的路由器
大家好,今天小编来为大家解答centos 默认路由这个问题,支持docker的路由器很多人还不知道,现在让我们一起来看看吧!
CentOS服务器如何添加永久静态路由
CentOS服务器如何添加永久静态路由?
一、Linux添加永久静态路由
方法一:修改 rc.local配置文件
范围:测试 Ubuntu 14.04、centos 6.4、debian 8.1、redhat 6.4系统可用
使用方法:
1.向 linux系统的/etc/rc.local文件中添加命令route add-net 192.168.2.0/24 gw 192.168.2.254(服务器的默认路由为192.168.2.254),或者添加命令route add-net 192.168.3.0/24 dev eth0,前者是依赖默认路由进行数据的转发,后者是依赖网卡接口进行数据的转发
2.reboot重启系统命令生效
3.用 route-n命令查看命令是否已经生效
方法二:修改 static-routes配置文件
范围:测试 centos 6.4、redhat 6.4系统可用
使用方法(此方法比 rc.local方法实用,能保证网络链路的通畅):
1.向系统的/etc/sysconfig/static-routes文件(如果系统没有此文件,可以新建此文件)中添加命令any net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.254(服务器的默认路由为192.168.2.254),或者添加命令any net 192.168.2.0 netmask 255.255.255.0 dev eth0,前者是依赖默认路由进行数据的转发,后者是依赖网卡接口进行数据的转发
2.service network restart命令重启网络服务
3.用 route-n命令查看命令是否已经生效
方法三:修改 interface配置文件
范围:测试 debian 8.1、Ubuntu 14.04系统可用
使用方法:
1.向系统的/etc/network/interface文件中添加命令 up route add-net 192.168.2.0/24 gw 192.168.2.254(服务器的默认路由为192.168.2.254),或者添加命令 up route add-net 192.168.3.0/24 dev eth0,前者是依赖默认路由进行数据的转发,后者是依赖网卡接口进行数据的转发
2.reboot重启系统命令生效
3.用 route-n命令查看命令是否已经生效
*注 1:(引用网上内容)如果在 rc.local中添加路由会造成NFS无法自动挂载问题,所以使用 static-routes的方法是最好的。无论重启系统和service network restart都会生效,按照linux启动的顺序,rc.local里面的内容是在linux所有服务都启动完毕,最后才被执行的,也就是说,这里面的内容是在netfs之后才被执行的,那也就是说在netfs启动的时候,服务器上的静态路由是没有被添加的,所以netfs挂载不能成功。
*注 2:以上添加命令可以通过 linux命令 sed-i'2i route add-net 192.168.2.0/24 gw 192.168.2.254'+文件路径命令向相应的文件的第二行添加命令或者用 echo route add-net 192.168.2.0/24 gw 192.168.2.254文件路径向文件的末尾添加命令
二、windows添加永久静态路由
方法一:
范围:测试 windows2008系统可用
使用方法:
1.以管理员身份打开运行 cmd.exe
2.使用命令:route-p add 192.168.2.0 mask 255.255.255.0 192.168.2.1(服务器的默认路由为192.168.2.1)
3.使用 route print查看命令是否生效
Centos 双网卡加载顺序引起默认路由配置问题
centos cloud和裸机均有次问题。
当centos有2个网卡,eth0是连公网,eth1是连内网,default route应该走eth0,系统启动后不能从公网链接。
原因是default route配置到eth1了,找原因:
/etc/sysconfig/network-scripts/ifcfg-eth0:
/etc/sysconfig/network-scripts/ifcfg-eth1:
虽然有cloudinit配置默认路由,但是后面还得network service再配置一把,最终改路由的脚本:
network service是按照eth0,eth1的顺序配置网卡的,配置eth0的时候有DEFROUTE=yes,但是到了配置eth1的时候配置文件ifcfg-eth1里没有指定DEFROUTE,而脚本只判断了变量!="no",其实DEFROUTE这个变量没定义,这个条件也满足,后面也会把default route替换成从eth1的。
解决办法很多,一个简单的就是echo"DEFROUTE=no">>/etc/sysconfig/network-scripts/ifcfg-eth1
这个还可以写在cloud环境的userdata里。
centos7如何永久删除默认路由
在Linux CentOS 7中,要永久删除默认路由,可以通过在特定目录下创建一个脚本来实现。首先,需要在目录/etc/network/if-up.d/下新建一个名为remove_default_gateway.sh的脚本。
在这个脚本中,我们将编写如下内容:
ip route del default
这个命令的作用是删除默认路由。当网络接口状态变为UP时,系统会自动执行这个脚本中的命令,从而永久地删除默认路由。确保脚本具有执行权限,可以使用如下命令进行赋予:
chmod+x/etc/network/if-up.d/remove_default_gateway.sh
通过上述步骤,当网络接口状态改变为UP时,系统会自动执行脚本中的命令,从而永久地删除默认路由。此方法为在CentOS 7中永久删除默认路由提供了一个简单且可靠的方法。确保在对系统进行此类修改时,了解并确认其潜在影响,并在必要时备份重要数据。