引言

Linux在装机后,如果没有特殊配置,会使用动态获取 IP 地址的策略。本文描述了,虚拟机使用网络的拓扑图,以及如何通过配置,将 IP 地址固定下来,不会因为重启而失效。同时可以访问外网地址。

一、NAT模式

NAT - 网络地址转换,是目前 IPv4 的ip 地址分配策略,可以解决 ip 地址不足的问题,同时有效地防止来自网络外部的攻击,隐藏并保护网络内部的计算机。

具体细节请戳:nat(网络地址转换方法)

无论是寄宿于 Windows 上的虚拟 Linux 服务主机,还是局域网内部的实体主机,都是采用这种 NAT 的IP 地址分配策略。它的网络拓扑是这样的:

VMnet8 是一个NAT 组网方式的虚拟网卡(VMnet 1 是Host-only 网络模式的虚拟网卡),虚拟机以 NAT 组网模式连接的外部通信都是走这个 VMnet8 虚拟网卡。

二、CentOS设置固定IP

cd  到 /etc/sysconfig/network-scripts  目录下:

查找 ifcfg-eth0 配置文件,如果没有,就自行创建一个 ifcfg-eth0 文件,并添加以下内容:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPV6INIT=no
NAME="System eth0"
IPADDR=192.168.1.140
GATEWAY=192.168.1.2
DNS1=192.168.1.2
NETMASK=255.255.255.0
HWADDR=00:0C:29:CB:E4:19

注意,如果 VMnet8 虚拟网卡的 ip 地址是 192.168.1.1,那么 ifcfg-eth0 文件中的 GATEWAY 一定不能选这个 ip 地址。如果不知道MAC 地址,可以 ifconfig 来查看 eth0 的MAC地址然后拷贝过来。

添加完上述信息后,重新启动网络服务,service network restart:

看到所有信息正常后,可以ping 测外网地址,如 www.baidu.com ,以及宿主机ip 地址。都是可以成功的:

综上就是关于 Linux 系统下设置网络的相关知识,欢迎文末留言。

补充:CentOS7 下的网络配置

首先要说明的是,CentOS7 已经默认不支持 ifconfig 指令了,因此,如果你在 CentOS 7 下使用 ifconfig 指令来查看ip 信息,那么就会报 command not found。

查看IP 的工作由 ip addr 指令代替, 刚安装好的 CentOS7 可能连外网都 ping 不通。原因是系统的网卡配置文件中的 ONBOOT 属性是 no ,就算是 DHCP ,也不会获取到 ip 地址。

所以,这一项一定要设置为yes :ONBOOT=yes。

另外,刚刚说的网卡配置文件实际就是 /etc/sysconfig/network-scripts 目录下和 ip 信息对应的文件名称:

那么 ens33 就是 CentOS 的网卡名,ifcfg-ens33 就是这个网卡的配置文件。打开文件,一开始 BOOTPROTO属性是 dhcp ,也就是动态获取 ip。在绝大多数情况都需要我们将它改为 static ,而且,文件中没有固定 ip 配置信息,需要我们手动补充。

红框内是手补属性,除此之外,可以把IPV6INIT 改为 no,另外必须令:

BOOTPROTO=static

ONBOOT=yes

其他的内容是在安装完 CentOS7 后默认的(也不像 CentOS6 那样连文件都没有)。改好配置后,保存退出。

最后一步就是重启网络服务,CentOS7 又要耍个性了:

systemctl  restart  network

执行完成后不会有任何提示信息,你需要主动去检查自己的网络配置,比如 ip addr 查看我们的ens33 是否已经分配了我们为它设置的 ip地址,同时去访问外网,看是否能ping 通。

这样,我们的网络就配置好了。

但是ip addr 命令的确难用,首先两个单词是分开的,中间多了一个空格,而且ip 和 addr 两个单词都属于单手拼写系,非常不便捷,另外,很多外部安装软件可能都需要依赖于旧的 ifconfig  指令,因此,不论如何也一定要在 CentOS7 上安装 ifconfig 指令。

系统既然已经可以联网,那么只需要通过  yum 来完成安装即可,但注意yum install ifconfig 会提示“找不到 package”,因此,我们需要先执行:

yum search ifconfig 

这样可以找到 net-tools.x86_64 ,这是一个 基础 网络工具,于是我们可以安装它来完成对 ifconfig 命令的安装:

yum  install  net-tools.x86_64

安装好之后,我们就可以像曾经那样愉快的使用 ifconfig 命令了 (* ̄︶ ̄)。

Linux进阶之路————CentOS网络配置相关推荐

  1. Linux进阶之路-Ubuntu版

    Linux进阶之路 @[TOC](Linux进阶之路) Linux 简介 概述 Linux 与 Windows 比较 安装 Linux 操作系统 Linux 远程控制管理 概述 OpenSSH XSh ...

  2. Linux进阶之路————进程与服务管理

    引言 在Linux 中,每个执行的程序(代码)都成为一个进程,Linux 为每一个进程分配了一个唯一的 id 号 - PID. 每个进程都会对应一个父进程,而这个父进程可以复制多个子进程,例如 www ...

  3. Linux进阶之路————Linux运行级别(重置密码)

    引言 前面的<Linux进阶之路----开机.重启和用户登录注销>已经简单介绍过Linux系统运行级别的概念,今天来详细介绍和总结一下Linux的运行级别. inittab配置文件 在配置 ...

  4. CentOS网络配置解决方案

    CentOS网络配置解决方案 https://blog.csdn.net/heyabo/article/details/8035927 关于centos网络配置的方法,网上文档很多,但基本上都是一些操 ...

  5. Linux进阶之路————磁盘查询

    引言 承接<Linux进阶之路----Linux磁盘分区与挂载>,本文介绍实际生产中对于磁盘的监控和查询. 一.查询磁盘整体使用情况 基本语法: df -h 该命令会显示包括我们手动挂载的 ...

  6. Linux进阶之路————组管理与权限管理

    引言 这篇博客将会总结一些关于组的概念和相关操作,以及文件的一些权限管理. 一.组的基本介绍 在前面的博文<Linux进阶之路----用户管理>已经有提到用户组的概念,实际上,组的概念并不 ...

  7. VM centos网络配置

    vm默认dhcp来分配ip. 首先,安装完成后,确定vm使用的是nat形式:在本机ipconfig查看vnet8 的ip地址,直接设置其静态ip地址.(例如:ip地址 192.168.128.1,子网 ...

  8. Linux命令(七)——网络配置和网络通信

    在使用网络前,需要对linux主机进行基本的网络配置,配置后可以使该主机能够同其他主机进行正常的通信. 一.网络配置 1.ifcfg-ethn网络配置文件 所有的网络接口配置文件均存放在/etc/sy ...

  9. VirtualBox虚拟机安装centos网络配置

    VirtualBox虚拟机安装centos网络配置 我的问题是:我通过虚拟机安装的centos系统,想要ping www.baidu.com,一直ping不通,然后在本地电脑用ifconfig查看我的 ...

最新文章

  1. R语言ggplot2可视化:通过水平半小提琴图(Horizontal Half Violin Plots)和抖动数据点( jittered data)可视化雨云图(Rain Cloud plots)
  2. 给Linux添加新用户,新建用户,新建帐号
  3. iOS网络编程之Socket
  4. SDI, DVI, HDMI, DisplayPort的区别(Z)
  5. 关于各种JOIN连接的解释说明【原创】
  6. 【恋上数据结构】图代码实现、最小生成树(Prim、Kruskal)、最短路径(Dijkstra、Bellman-Ford、Floyd)
  7. 编写一个简单的widget
  8. 多路温度采集计算机网络监测设计,多路温度采集
  9. 作为应届生到底是去大的IT公司好,还是去小的IT公司好?
  10. python打印A-Z
  11. Keras,今天7岁啦
  12. Java可视化动态画图
  13. TestGoal: Result-Driven Testing
  14. Mysql 的其他函数
  15. Windows 10下删除450 MB的恢复分区
  16. 泰勒公式和等价无穷小
  17. 计算机io接口主要功能,计算机基础知识2:IO接口及电源介绍.ppt
  18. 优Link—移动办公平台
  19. 电商网站接入快递查询
  20. css使用calc精确设置对象尺寸或位置

热门文章

  1. python 向量取整数_随机整数向量| 使用Python的线性代数
  2. 运算符sizeof_C程序通过使用sizeof()运算符对数组元素进行计数
  3. 华为交换机S3700清空配置方法
  4. MFC新建文件夹、打开文件夹的实现方法
  5. 认识和选购极致画质的显示器
  6. mysql多表联查到新的表中_MySQL中的多表联查
  7. pythonpptx 楷体_python-pptx 实践 4:添加形状、文本
  8. c++opencv显示中文_OpenCV如何入门秘籍
  9. linux下qt环境的运行,在Linux下使用QT环境来安装和运行WebKit
  10. win7旗舰版系统关闭自动更新功能教程