Linux进阶之路————CentOS网络配置

引言

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 命令了 (* ̄︶ ̄)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

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

Linux进阶之路———— RPM 与 YUM 包管理

引言 rpm 是一种用于互联网下载的打包及安装工具,它包含在某些 Linux 发行版中,生成具有 .rpm 扩展名的文件。rpm 是 redhat package manager(RedHat 软件包管理器)的缩写,类似 Windows 下的 setup.exe 文件。这一文件…

Linux进阶之路———Shell 编程入门

引言 通过 Shell 编程的学习,铺平架构师道路上的一块大砖。 Shell 在Linux 系统中的定位如下所示: 一、第一个 Shell 脚本 我们通过一个简单的 Shell 脚本来感受一下。 在 Shell 中不需要加 “;” 结尾,通过 vim 可以进行 shell 的编程工…

Linux 实操———CentOS 6 安装配置 Oracle JDK 1.8

引言 本篇博客也属于Linux进阶系列,主要讲解如何在CentOS 6 下安装并配置 JDK 8。由于通过 yum 搜索的结果都是 openjdk,而目前企业中还是以 Oracle jdk 为主,因此,操作步骤这样的。 在Oracle 官网把 jdk 1.8 下载下来&#xff…

Linux 实操———CentOS 6 安装配置 Tomcat

引言 Linux下安装Tomcat。 一、下载、传输与解压 同《Linux 实操———CentOS 6 安装配置 Oracle JDK 1.8》一样,前期都是先在远程机上下载压缩包,然后通过远程终端,将压缩包放在 Linux 的 opt 目录下,然后解压。 下载地址是T…

Spring Boot 实用开发技巧————Eclipse 远程调试

引言 在之前的开发当中,都会进行本地项目启动,然后向本地服务发起请求来进行 Debug 调试代码,这也是开发人员最常见的调试操作。但是当项目逐渐成型,慢慢的将各个模块部署到服务器后,调试的手段可能就仅仅剩下查看执行…

Linux 实操———— Shell 远程执行命令

引言 目前,开发人员的部署方式是,将项目打包(Maven 打包) 然后将 生成的 jar 包等文件,通过Xshell 等终端工具手动传输到远程服务器上,然后再通过在终端执行远程服务器上的 shell 脚本来启动服务。 本篇博客聚焦这样一种解决方案…

Spring Boot 设置 ASCII banner 艺术字

引言 无意中看到Spring boot 项目的 resources 目录下有一个 banner.txt ,打开一看,居然是ASCII 字符画。于是兴起,简单研究了一下。 Spring boot 可以加载 resources 目录下的 banner.txt 文件,将字符画在启动之初输出到日志或…

MySQL 基础 ———— 分组查询

引言 承接上一篇《MySQL 基础 ————高频函数总结》,本篇单独针对分组查询进行简单的总结和归纳,并为后续更为复杂的DQL 语句做好铺垫。 查询语句: SELECT AVG(salary) FROM teacher; 实际上是以全表的 salary 字段来求平均值。但是在实…

MySQL 基础 ———— 连接查询

引言 本篇文章承接《数据库与SQL语句》专栏,进入DQL的重要环节,可以说,这一部分的内容应该占据SQL语言的大部分使用场景。 本篇的连接查询知识,和后面的一些重要的查询知识总结,共同构成了在工作中80%的MySQL应用场景…

MySQL 基础 ———— 子查询

引言 承接《MySQL 基础 ———— 连接查询》,本文介绍和展示SQL中子查询的使用。 子查询是出现在其他语句中的select 语句,也称为内查询。外部的查询语句,称为主查询或外查询。 一、子查询的分类和支持的子句 按照子查询出现的位置&#…

MySQL 基础 ———— SQL语句的执行顺序与 LIMIT 子句

引言 到目前为止,已经总结了常见的SQL子句,包括 SELECT 、FROM、JOIN ... ON、WHERE、GROUP BY、HAVING、ORDER BY。 虽然SQL的书写顺序是固定的,但在MySQL引擎中执行的顺序并不完全和书写顺序一致。除了上述这些子句,下面将会介…

MySQL 基础———— UNION 联合查询

引言 联合查询与连接查询不同,通过UNION 关键字,我们可以将多个查询语句一同执行并将结果集展示出来,不涉及到任何关联关系。 UNION 的含义是“联合,并集,结合”,在MySQL中可以将多个查询语句的结果合并成…

MySQL 基础————常用数据类型

引言 从第一次学习mysql开始,不知道为什么MySQL的数据类型始终没有像Java 一样深入脑海,对某些数据类型的定义和用法,也并不清晰,这篇文章,就好好总结一番,将MySQL中几个常用的数据类型归纳一下。 一、类…

MySQL 基础 ———— SAVEPOINT 的应用

引言 savepoint 关键字用于在数据库事务中设置一个存储点,在一个较长的事务中暂存数据,如果在事务末尾执行回滚,可选择性的回滚到 savepoint 设置的暂存点。 本文承接上一篇博客《MySQL 基础 ————事务与隔离级别总结》,进一…

MySQL 基础 ———— 视图的应用与总结

引言 视图是一种虚拟表,和普通表的使用是一样的,视图的一大特点就是“临时性”,是通过表动态生成的数据,只保存SQL逻辑,不保存查询结果。 视图在实际生产中主要有两种应用场景: 1、多个地方用到同样的查…

MySQL 基础 ———— 变量

一、MySQL系统变量 系统变量是由系统提供,属于服务器层面。 系统变量分为:全局变量和会话变量。 全局变量一般要加 GLOBAL 关键字,例如在《MySQL 基础 ————事务与隔离级别总结》中提到的 GLOBAL TRANSACTION,就属于全局变量…

MySQL 基础 ———— 存储过程与函数

一、存储过程介绍 存储过程是一组预先编译好的SQL语句的集合,可理解成批处理语句。它的优点主要有以下几点: 1、提高代码的重用性; 2、简化操作; 3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率…

MySQL 基础 ———— 流程控制结构

引言 MySQL 中的流程控制作为基础知识的最后一块拼图,显得并不是特别重要,而且,在实际生产开发中,也往往不需要通过它来进行程序的控制,那么为什么还要学习它呢?我认为有以下几点: 1、知识的完…

MySQL 高级 ———— MySQL逻辑架构图简介

引言 本篇文章介绍MySQL的逻辑架构图。 MySQL并不完美,但足够灵活,能够适应高要求环境。MySQL不仅可以嵌入到应用程序中,同时也可以支持数据仓库、内容搜索、和部署软件、高可用的冗余系统、在线事务处理系统等各种应用类型。 一、MySQL逻…