关于默认网关的添加。记得楼主之前有一次,无意之间,也不知道做了什么删除文件里面内容的操作,配置好静态IP之后上不了外网。翻阅个各种资料都是没有找到问题。最后发现问题在于配置的虚拟机网卡文件的网关打错了。
这里我把GATEWAY打错了。。。大家注意一下,试了很多种方法还是不行的话,肯定是你配置的内容里面出问题了。linux没有那么难!!!
这里就不吹了,既然说到这里,就总结一下默认网关的添加和DNS服务的添加。
默认网关的添加
查看默认路由
[root@centos7 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
这里如果你也跟我一样没有0.0.0.0的这条的话,应该也是没有配置默认网关。。如果你缺失第一个路由,是肯定无法ping通外网的
正确的应该是这样的
[root@centos7 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
1、首先DNS可能被误删了,需要添加(nameserver=8.8.8.8是谷歌提供的免费的DNS服务,还有一个免费的备用的nameserver=8.8.4.4)
# vim /etc/resolv.conf
nameserver 114.114.114.114
2、添加路由
# route add default gw 192.168.1.1
这里的网关是怎么来的就不多说了,查看下本机的网关
3、此时可以选择重启网卡
ifdown ens33
ifup ens33
或者重启网络服务
systemctl restart network
ping一下百度
[root@centos7 ~]# ping baidu.com
PING baidu.com (123.125.115.110) 56(84) bytes of data.
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=1 ttl=45 time=57.8 ms
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=2 ttl=45 time=59.5 ms
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=3 ttl=45 time=60.5 ms
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=4 ttl=45 time=61.0 ms
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=5 ttl=45 time=65.0 ms
完成!
但是!!!!这里的route add default gw 是添加的临时网关,可能关机,挂起虚拟机或者时间稍微长一点就没有用了。
所以这里我们要进行永久的设置。
配置永久的默认网关
1、在网卡配置文件中设置
vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 目录肯定是一样的,但是网卡文件因网卡名不一样会变动
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.1.133"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="55accfd8-d5f2-46eb-a68d-bc78985101c8"
DEVICE="ens33"
ONBOOT="yes"
ifcfg-ens33
此时重启网络或者网卡就好了
systemctl restart network
第一种方法亲自测试有效!!后面的没有测试,摘录自网友博客
2、在网卡文件目录里面创建一个route-ens33(网卡号)
[root@centos7 ~]# cd /etc/sysconfig/network-scripts/
[root@centos7 network-scripts]# touch route-ens33
[root@centos7 network-scripts]# vim route-ens33
192.168.10.0/ via 192.168.1.1
192.168.1.0/ via 192.168.1.1
然后重启网络或者网卡
3、在网卡我嗯见目录创建一个static-routes文件
vi /etc/sysconfig/network-scripts/static-routes (如果没有,就新建文件)
10.0.0.0/ via .*.*. gw 10.0.0.254 dev ens160
重启网卡就OK了。
只是后面的两种,我没有测试,刚开始是GETEWAY怎么测都是错的。所以。。。hm。。。
添加DNS
这个就不再废话讲什么临时的DNS。。直接讲永久添加了。
还是网卡文件,既然大家用到linux的东西,还是建议大家记一下网卡路径,真的还是很重要的一个子路径。
/etc/sysconfig/network-scripts/ifcfg-ens33
打开文件直接添加下面内容到末尾
DNS1=8.8.8.8
DNS2=114.114.114.114
然后呢,还是重启网卡。。
2、脚本添加
nmcli con mod * ipv4.dns "dns1 dns2"
service network restart
重启网卡。。
3、传统修改
手动修改/etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项:
[main]
plugins=ifcfg-rh
dns=none
重启。