Linux 踩过的坑系列-01

关于默认网关的添加。记得楼主之前有一次,无意之间,也不知道做了什么删除文件里面内容的操作,配置好静态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  # 目录肯定是一样的,但是网卡文件因网卡名不一样会变动

 1 TYPE="Ethernet"
 2 PROXY_METHOD="none"
 3 BROWSER_ONLY="no"
 4 BOOTPROTO="static"
 5 IPADDR="192.168.1.133"
 6 NETMASK="255.255.255.0"
 7 GATEWAY="192.168.1.1"
 8 DEFROUTE="yes"
 9 IPV4_FAILURE_FATAL="no"
10 IPV6INIT="yes"
11 IPV6_AUTOCONF="yes"
12 IPV6_DEFROUTE="yes"
13 IPV6_FAILURE_FATAL="no"
14 IPV6_ADDR_GEN_MODE="stable-privacy"
15 NAME="ens33"
16 UUID="55accfd8-d5f2-46eb-a68d-bc78985101c8"
17 DEVICE="ens33"
18 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/24 via 192.168.1.1
192.168.1.0/24 via 192.168.1.1

然后重启网络或者网卡

3、在网卡我嗯见目录创建一个static-routes文件

vi  /etc/sysconfig/network-scripts/static-routes (如果没有,就新建文件)
10.0.0.0/8 via 10.*.*.1  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

重启。

 

posted @ 2018-09-23 23:46  dandyzhang  阅读(412)  评论(0编辑  收藏  举报