关于默认网关的添加。记得楼主之前有一次,无意之间,也不知道做了什么删除文件里面内容的操作,配置好静态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

重启。

Linux 踩过的坑系列-01的更多相关文章

  1. ABP框架踩过的坑系列6

    ABP框架踩过的坑系列6 应是无事.齐侯方才的确到了吴纠庭院https://www.mixcloud.com/ltTFvU888smi8jS/几日行军劳顿其实齐侯本应该睡下了https://www.m ...

  2. 使用ABP框架踩过的坑系列1

        企业级(例如ERP)应用, 一遍一遍的在重复:认证.验证.异常处理.日志.国际化和本地化.数据库连接管理.配置管理. 审计记录等,同时.NET有很多最佳实践:分层.模块化.DDD领域驱动.DI ...

  3. 使用ABP框架踩过的坑系列5

    DDD领域驱动开发,实际是为复杂的业务场景而生的,为了让开发人员专注于业务,而操作系统.数据库.网络之类的技术细节,必须要持久透明化:实际就是数据库系统DBMS的ORM抽象,目标就是业务不需要考虑数据 ...

  4. 使用ABP框架踩过的坑系列3

    从架构角度来讲,ApplicationService究竟应该如何定位,一种说法是直接对应用例UseCase, 也就是直接对应UI, 这个UI是广义的,不仅仅是浏览器的页面,也包括API调用.还是从我曾 ...

  5. 使用ABP框架踩过的坑系列4

    数据库连接和事务管理,是数据库应用中的最重要概念之一.做过的人,都会头疼:何时Open一个连接?何时Start一个事务?何时Dispose这个连接?... ABP框架试图用一个叫做UnitOfWork ...

  6. 踩过的坑系列之InputStream.read(byte[])方法

    项目之前都是好好的,最近现场那边出现一个问题,报错不是合法的json字符串,这个json字符串是通过http请求访问获得的. 通过直接在浏览器上直接访问http这个请求,发现返回的json也是完全正确 ...

  7. 使用ABP框架踩过的坑系列2

    ABP中有很多惯例,如果使用得当,可以事半功倍,如果使用不当,也会有很大的麻烦,是否适当其实还是要看Need需求 ASP.NET Boilerplate (ABP) is an open source ...

  8. MySQL填坑系列--Linux平台下MySQL区分大小写问题

    大家好,我是软件大盗(道),下面开始我们的<MySQL填坑系列>. 笔者最近又在MySQL的边缘试探,然后,试探着,试探着就报错了. 书接上文,系统连接数据库时报错:找不到DB_TIMIN ...

  9. jmeter踩坑系列

    1.踩坑系列一: 抓包出来有host的字段,放到jmeter里面一起请求就报错了,去掉就请求正常了 1.踩坑系列二: 从花瓶复制过去 的values 前面有空格,肉眼看起来没有

随机推荐

  1. ThreadPoolExecutor解析

    前言:在最新的阿里规范中强制使用ThreadPoolExecutor方式创建线程池,不允许使用Executors,因此有必要对ThreadPoolExecutor进行进一步了解. 1.ThreadPo ...

  2. Go语言中定时器cron的基本使用

    安装:go get github.com/robfig/cron  如果出不去就用gopm 例子: package main import ( "fmt" "github ...

  3. python项目在无外网的生产环境解决沙盒依赖问题

    参考 https://yq.aliyun.com/articles/159599 https://www.jianshu.com/p/08c657bd34f1 缺点是 只能针对python的环境 做沙 ...

  4. vmware centos7 minimal 配置共享文件夹

    使用的是VMware安装CentOS7 minimal版,系统镜像是CentOS-7-x86_64-DVD-1708.iso. 宿主机系统为win10,CentOS7 minimal过程省略,可参考h ...

  5. C++ cmake

    cmake_minimum_required(VERSION 2.8) project(helloworld) option add_exectuable 告诉工程生成一个可执行文件. add_lib ...

  6. 手把手教你发布一个Python包

    本文主题如下: 编写一个包(Python 源代码),但不是本文的重点. 编译包,观察编译后的文件. 发布包,发布的包可以有多种类型. 如何在 Pypi 中查看已发布的包 注意: 本文编写的包在 Pyt ...

  7. DependencyInjection源码解读之ServiceProvider

    var services = new ServiceCollection(); var _serviceProvider = services.BuildServiceProvider(); serv ...

  8. 第一章· Redis入门部署及持久化介绍

    Redis简介 Redis安装部署 Redis持久化 Redis简介 软件说明: Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品. ...

  9. CodeSmith如何生成实体类

    CodeSmith如何生成实体类 这是模板,然后选择对应的表.就可以生成 了 <%-- Name: Database Table Properties Author: Paul Welter D ...

  10. Python——Pycharm基本设置

    一.,模板(加入中文UTF-8) #!/usr/bin/env python # -*- coding:utf-8 -*- 设置方法:file->settings->Editor-> ...