Linux运维学习--Linux下的网络部署
一、图形方式配置网络
(1)nm-connection-editor 方式设置
nm-connection-editor 方式设置系统网络可以查看以下博客第八节:
nm-connection-editor 方式设置系统网络
(2)nmtui方式设置
1.执行nutui
命令:
2.选择Edit a connection
3.删除现有网络后新增
4.选择以太网
5.填写名称(westos),设备(eth0)后选择ipv4选项为手动:
6.填写好网络信息好点击ok保存退出
7.查看网络发现设置成功
二、关于网络的命令
ping命令
1.ping命令
ping
命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常
2.命令常见用法
ping ip #检测网络是否通畅ping -c 1 ip #ping一次ping -w 1 ip #等待一秒ping -c1 -w1 ip #ping一次等待一秒
注意:该命令会一直执行直到手动ctrl+c停止
3.示例:
ifconfig命令
1.ifconfig
命令
ifconfig
(interfaces config),通常需要以root
身份登录或使用sudo
来使用ifconfig
工具
ifconfig
命令用来查看和配置网络设备,当网络环境发生改变时可通过此命令对网络进行相应的配置
注意:用ifconfig
命令配置的网卡信息是临时的,在网卡重启或机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件
2.命令常见用法
ifconfig #查看网络接口ifconfig device #查看该设备的网络ifconfig device ip netmask 255.255.255.0 #设定ifconfig device ip/24 #设定ifconfig device down #关闭ifconfig device up #开启
注意:device的名字是一个物理事实,看到什么名字只能用什么名字
3.示例
查看设备的网络:
设定:
关闭:
开启:
重启网络后网络又恢复原来的ip:
ip addr命令
1.ip addr命令
查看或设定网络接口信息
注意:用该命令配置的网卡信息是临时的,在网卡重启或机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件
2.命令常见用法
ip addr #查看或设定网络接口信息ip addr show #检测ip addr add ip/24 dev device #设定ip addr del dev device ip/24 #删除ip addr flush eth0 #刷新
3.示例:
设定ip:
删除:
刷新后所有ip均不见:
重启网络后最初设定的ip又回来了
三、管理网络配置文件
网络配置文件存放在系统中 /etc/sysconfig/network-scripts/
的目录下
1.网络配置文件的命名规则
配置文件的命名为ifcfg-xxxx
,文件内容如下:
TYPE=Ethernet #网络类型BOOTPROTO=none #设备工作方式,=dhcp时为动态IPADDR0=172.25.254.116 #IP网址PREFIX0=24 #子网掩码NETMASK0=255.255.255.0 #子网掩码GATEWAY0=255.255.255.0 #网关NAME=westos #名称DEVICE=eth0 #设备名称ONBOOT=yes #网络服务开启时自动激活网卡
2.dhcp网络配置文件的编辑
在文件下编辑:
DEVICE=eth0ONBOOT=yesBOOTPROTO=dhcp
之后重启网络服务即可设置dhcp服务
3.静态网络配置文件的编辑
DEVICE=eth0 ONBOOT=yes BOOTPROTO=none IPADDR=172.25.254.116 NETMASK=255.255.255.0
保存后重启网络,查看网络:
4.多个ip的配置
DEVICE=eth0 ONBOOT=yes BOOTPROTO=none IPADDR0=172.25.254.116IPADDR1=1.1.1.100 NETMASK0=255.255.255.0NETMASK1=255.255.255.0
其中NETMASK0=255.255.255.0
也可写成PREFIX0=24
保存后重启网络,查看网络:
四、nmcli命令的使用
1.nmcli命令
nmcli
是redhat7
或者centos7
之后的命令
该命令可以完成网卡上所有的配置工作,并且可以写入配置文件,永久生效
注意:使用此命令时NetworkManager服务必须开启
2.命令常见用法
nmcli device connect eth0 #启用eth0网卡nmcli device disconnect eth0 #不启用eth0网卡nmcli device show eth0 #查看eth0网卡信息,不加参数查看所有网卡信息nmcli device status eth0 #查看网卡服务接口信息nmcli connection show #查看网络nmcli connection down westos #关闭nmcli connection up westos #开启nmcli connection delete uuid xxxxxxxxx #删除,uuid可通过status参数获得nmcli connection delete westos #删除该网卡上的所有网络nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.116/24 #添加nmcli connection modify westos ipv4.method auto #更改为动态nmcli connection modify westos ipv4.addresses 172.25.254.216/24 #指定ipnmcli connection modify westos ipv4.method manual #更改为静态
3.实验
connect
与disconnect
:
删除与添加:
更改网络类型为动态:
更改网络类型为静态,默认网络是动态时必须先指定ip后才可以更改为静态:
五、网关及路由器
1.网关
网关是在使用不同通信协议,数据格式化结构,语言或体系的两个系统里,充当转换器角色的计算机系统或者其他设备,网关和网桥不一样,网桥只在两个系统之间传递数据,不执行转换操作,网关重新打包信息,或者更改数据的语法,使其符合目的系统的要求,网关也可以是内部网络和外部网络的连接点,此设备从主设备取出信息,检查地址,并把他们传递到下一个路由器或者主机系统,工作在OSI的应用层
2.路由器
路由是指从一个设备(一般指路由器)的接口上接收到数据包,依据设备所既定的某些规则,将数据包转发到其它接口的 “过程”。路由工作在OSI参考模型第三层——网络层的数据包转发设备,能实现路由功能的设备,就叫路由器,路由器通过转发数据包来实现网络互连
route -n #查看路由信息route add -net 224.0.0.0 netmask 255.255.255.0 dev eth0 #添加网关route del -net 224.0.0.0 netmask 255.255.255.0 #删除网关
3.实验环境准备
一台单网卡主机server,ip为1.1.1.116/24
:
一台双网卡主机desktop(路由器),ip分别为172.25.254.116/24
和1.1.1.216/24
:
在server主机ping desktop主机的两个ip:
发现1网段可以ping
通,172网段不行。
desktop主机分别ping
1网段的ip和172网段的ip发现都可以ping通:
实验环境准备完成
利用Linux操作系统构建路由器
1.开启内核路由功能
可以使用以下命令查看内核路由功能状态:
sysctl -a | grep ip_forward #返回值为0表示关闭,1表示开启
在/etc/sysctl.conf
文件下写入:
net.ipv4.ip_forward = 1
再执行以下命令:
sysctl -p
即可打开内核路由功能
2.火墙中打开地址伪装功能
查看功能是否开启:
[root@foundation63 ~]$ firewall-cmd --list-all #查看火墙状态trusted (active)target: ACCEPTicmp-block-inversion: nointerfaces: br0 enp4s0f1 wlp3s0sources: services: ports: protocols: masquerade: no ###no表示没有开启,yes表示开启forward-ports: sourceports: icmp-blocks: rich rules:
执行以下命令可以开启:
firewall-cmd --permanent --add-masqueradefirewall-cmd --reload
3.设定网关
1 2中的操作均在双网卡主机上,此部操作在单网卡主机上
在网络配置文件中写入网关信息,之后重启网络:
发现网关设置成功
以上操作是设置单网卡的网关,也可以将网关信息写入/etc/sysconfig/network
文件设置全局网关
4.测试
在单网卡主机ping双网卡主机中的172网段:
可以ping通表示路由器及网关设置成功
六、DNS的定义及设定
1.DNS的定义
在互联网这个大环境中,我们平时上网使用的都是类似于www.baidu.com的域名,这是我们人类易读的互联网,但是在实际的数据传输中,我们用到的都是ip地址,计算机无法直接识别我们常用的域名,因此我们就需要一个在我们和计算机之间做翻译的服务,而这个服务就是DNS。DNS是基于tcp和udp协议的服务,用于我们日常的域名解析,帮助我们在域名和ip地址中相互转换
DNS所用端口为53号端口,在linux中dns服务的服务名为named,安装包为bind,一般情况下我们可以在linux系统中直接通过yum -y install bind
即可安装我们需要的DNS服务
2.本地解析服务
在/etc/hosts
文件中可以设定本地解析,在文件中写入域名及ip即可实现对ip的解析,如:
本来ping www.baidu.com会失败:
在/etc/hosts
文件中设定本地解析后可以ping通:
3.网络解析服务
提供网络dns解析的服务器,可以在/etc/resolv.conf
中写入以下命令指定:
nameserver 114.114.114.114 #也可其他指定dns服务器
示例:
注意:本地解析服务优先级默认高于网络解析,更改优先级可以更改/etc/nsswitch.conf
文件中的39行:
将39行的dns
更改到files
前即可
测试:将本地解析服务文件中的百度设置为另外一个地址之后再ping www.baidu.com
:
发现ping的是设置的本地解析服务的ip,而不是百度本来的网址,可证明本地优先级高于网络。之后更改更改/etc/nsswitch.conf
文件中的39行:
再ping www.baidu.com
:
发现ping的是baidu本身的ip
固定dns指向
在/etc/resolv.conf
文件中写入的dns服务器会在网络重启(network
和NetworkManager
)后消失:
1.静态网络固定dns
可以将dns配置写入网卡配置文件中即可固定下来:
注意:DNS
后必须要加数字
重启网络后,发现dns还在:
2.动态网络固定dns
dncp网络会自动获取dns,因此需要修改网络配置文件中的PEERDNS
参数(默认为yes)为no,重启网络后在/etc/resolv.conf
文件中写入需要固定的dns即可。
七、dhcp服务
1.dhcp服务
DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设备或网络供应商自动分配IP地址
DHCP服务程序能够使局域网内的主机自动且动态的获取IP地址、子网掩码、网关地址以及DNS服务器地址等信息,且能够有效的提升地址使用率,提高配置效率,减少管理和维护成本。
2.dhcp工作原理
- DHCP Client以广播的方式发出DHCP Discover报文。
- DHCP Server都会给出响应,向DHCP Client发送一个DHCP Offer报文。DHCP
Server在发出此报文后会存在一个已分配IP地址的纪录。 - DHCP Client处理最先收到的DHCP Offer报文。DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。
- DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP Server不做任何处理只清除相应IP地址分配记录;如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。
- DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。如果可以使用,则DHCP Client成功获得IP地址并根据IP地址使用租期自动启动续延过程;如果DHCP Client发现分配的IP地址已经被使用,则DHCP Client DHCPServer发出DHCP Decline报文,通知DHCP Server禁用这个IP地址,然后DHCP Client开始新的地址申请过程。
- DHCP Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址,DHCP Server收到DHCP Release报文后,会回收相应的IP地址并重新分配。
3.dhcp服务的配置
dhcp的配置文件保存在/etc/dhcp/
目录下,编辑该目录下的dhcp.conf
文件即可配置dhcp服务
首先执行以下命令复制示例文件为dhcp.conf
:
cp /usr/share/doc/dhcp*/dhcp.conf.example dncpd.conf #输入y确定
删除dhcp.conf
文件中27、28行以及34行以后的文件:
上图中:
字段 | 含义 |
---|---|
option domain-name | 域名 |
option domain-name-servers | 给客户主机分配的dns服务器 |
default-lease-time | 默认租约期,单位小时 |
max-lease-time | 最长租约期,单位小时 |
log-facility | 日志级别 |
subnet | 网段 |
netmask | 子网掩码 |
range | 分配的ip范围 |
option | 网关 |
将上述字段更改为:
4.测试
将另一台主机的网络设置为dhcp方式:
之后重启网络查看状态发现设置成功:
查看日志可以看出ip来源:
Linux运维学习--Linux下的网络部署相关推荐
- linux系统运维费用,一般Linux运维学习的费用是多少?Linux学习
随着IT 互联网技术的发展,Linux逐渐成为中高端服务器的主要操作系统,并且目前地位不可替代.Linux运维工程师是一位"复合型人才",他集成了网络.系统.数据库.开发和安全等工 ...
- linux学习项目,[ Linux运维学习 ] 路径及实战项目合集
我们知道运维工程师(Operations)最基本的职责就是负责服务的稳定性并确保整个服务的高可用性,同时不断优化系统架构.提升部署效率.优化资源利用率,确保服务可以7*24H不间断地为用户提供服务. ...
- 阿里云官方学习课程推荐-Linux运维学习路线 从事云计算运维相关工作必备技能
阿里云官方学习课程推荐-Linux运维学习路线 从事云计算运维相关工作必备技能 目前越来越多的企业需要依赖于IT技术发布产品与服务,尤其是电子商务最为明显,它凸显了IT技术在现代企业中的重要性.当企业 ...
- linux下伪终端的使用,Linux运维培训 Linux伪终端详解
原标题:Linux运维培训 Linux伪终端详解 Linux运维培训 Linux伪终端详解Linux学习绕不开一个名词"终端",对于新手来说可能不了解,对于老鸟来说,可能弄不大清楚 ...
- 兄弟连Linux运维学习笔记
最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux ---------------------- Unix与Lin ...
- Linux云计算好学吗?Linux运维学习资料 Centos8文件权限管理
linux运维云计算/Linux全套百集大系列/Centos7-Centos8/全网最新Linux架构师教程_哔哩哔哩_bilibili 第七章 Centos8-文件权限管理 本节所讲内容: 7.1 ...
- linux运维视频教程 linux培训视频
马哥2016全套视频 linux运维视频教程 linux培训视频 http://edu.51cto.com/course/course_id-5524.html http://edu.51cto.co ...
- linux常见系统目录,Linux系统中常见目录有哪些?linux运维学习中心
Linux系统中常见目录有哪些?随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,市场对于Linux运维人才的需求也是逐渐增加.L ...
- linux如何使用eth0网卡,Linux运维学习之如何取出网卡eth0的ip地址?
Linux运维基础学习中,关于awk了解多少呢?咱们今天就来简单了解下如何取出网卡eth0的ip地址. hostname -I awk处理: 方法一: [root@oldboy files]# ifc ...
- 怎样学习Linux运维云计算,linux运维云计算课程学习,Linux云计算面试时遇到的问题...
原标题:linux运维云计算课程学习,Linux云计算面试时遇到的问题 Linux命令行,以及用户使用Linux命令进行Linux shell交互,是Linux最吸引人的地方,也是面试中最普遍的话题之 ...
最新文章
- Git远程推送和抓取分支
- leetcode word break java,Word Break leetcode java
- python 判断点在随机多边形内_初中数学必须掌握的28个考点及60个易错点,收藏起来慢慢看!...
- JavaScript 中的对象拷贝(深拷贝、浅拷贝)
- mysql 用source 导入数据库报错
- IoTeX与BigQuery集成以使数据对谷歌云用户可用
- git HEAD detached from origin 问题的解决
- SQL语句优化—in,not in,exists,not exists, left join...on
- Servlet做Controller,实现一个类处理多个请求
- Kubernetes 小白学习笔记(8)--kubernetes的基础概念
- Arch Linux freemind中文乱码
- ActiveMQ菜鸟入门教程
- 不安装iTunes实现USB数据线与电脑传文件
- android应用图标的尺寸大小,Android APP LOGO尺寸
- 最小的单片机:ATtiny85
- 解决electron打包的程序报错 A JavaScript error occurred in the main问题
- 原函数与反函数的关系
- 【问题解决】Linux服务器免密信任 远程执行
- 设计一个小型的物联网应用系统_点赞 | 面向能源物联网的智能传感芯片设计与应用...
- 经典美文诵读2 If I Were a Boy Again假如我又回到了童年
热门文章
- 【SQL性能优化】【数据库调优】【概览】
- P4012 深海机器人问题
- 论文解读 MTL-NAS: Task-Agnostic Neural Architecture Search towards General-Purpose Multi-Task Learning
- blazor 踏坑之旅 integrity
- 孙新生得身长力壮 水浒传
- JSP+MySQL校园新闻网站(4)–新闻浏览功能开发
- 收购EMC加剧财务恶化 戴尔中国或面临爽约挑战
- STL源码剖析:class template explicit specialization代码测试和理解
- vc6.0实现xp风格,gripper does not redraw correctly
- 全网“夜爬泰山”,景区如何做的线上宣传?