Linux系统管理
实验所用系统为Redhat-rhel8.2。
目录
Linux的系统管理–Linux下的网络配置
一、什么是IP ADDRESS
- IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。因特网上的每台计算机和其它设备的唯一的地址。
- IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:11111110.11111110.11111110.11111110 = 254.254.254.254
- IPv4(Internet Protocol version 4,网际协议版本4),又称互联网通信协议第四版。是互联网的核心,也是使用最广泛的网际协议版本。IPv4是一种无连接的协议,操作在使用分组交换的链路层(如以太网)上。
二、子网掩码
- 用来划分网络区域(网络位+主机位)
- 子网掩码非0的位对应的ip上的数字,表示这个ip的网络位,表示网络区域
- 子网掩码0位对应的数字,是ip的主机位(只有1-254可用,0不可用,255为广播位),表示网络区域里某台主机
三、IP通信判定
- 网络位一致,主机位不一致的2个IP 可以直接通讯
172.25.254.1 / 24 与 172.25.254.2 / 24 可以通信 原因:网络位相同,均为24(24 = 255.255.255.0)
172.25.254.1 / 24 与 172.25.0.1 / 16(前两位为网络位,后两位为主机位) 不能通信 原因:网络位不同
四、网络设定工具
ping ##检测网络是否通畅
ping -c 1 ##ping 1 次
ping -w 1 ##等待1秒
ping -c 1 -w 1 ip ##ping一次等待一秒
ifconfig ##查看或设定网络接口
ifconfig ##查看
ifconfig device ip/24 ##设定
ifconfig device down ##关闭
ifconfig device up ##开启
[注意] 临时设定,未记录在文件里,重启后还原
#查看网络接口
#查看指定设备(无论开启还是关闭都可以查看)
#设定网络接口
#关闭网络接口(此时ifconfig
查看就看不到)
#开启网络接口
ip addr(ip a) ##检测或设定网络接口
ip addr show ##检测
ip addr add ip/24 dev device ##设定
ip addr del dev ens3 ip/24 #删除
[注意] 临时设定,未记录在文件里,重启后还原;这里的设定指添加,旧的需要手动删除
#检测网络接口
#设定,删除
五、永久设定IP
1、图形方式
设定:nm-connection-editor(前提是NetworkManager开启状态)
不建议用systemctl restart NetworkManager
systemctl start NetworkManager-dispatcher.service
nm-connection-editor
- 未删除原有ip时,ifconfig查看并不会改变,需要:
nmcli connection reload ##刷新配置
nmcli connection up ens3 ##读取配置文件
- 删除后新建时,
ifconfig
查看则直接改变
#nm-connection-editor
打开图形设定IP界面
#删除已有
#选择添加,选择Ethernet
#修改名称,在Ethernet界面设定Divice
#在IPv4 Settings界面,Method选择Manual,Addresses选择Add,设定Address,Netmask,Gateway(点击一下),点击保存
#ifconfig
查看设定成功
#添加一个新的westosc,步骤同上,Address设为172.25.254.90
#未刷新配置时,ifconfig
并不能查到变化,需要刷新并读取配置文件。
2、非图形方式
从有图形切换到无图形
system set-default multi-user.target
init 3
nmtui (tab控制)
- edit a connection —> delete已有 —> add新建 —> ethernet —> name(westosc),device(ens3) —> ipv4(address 172.25.254.109/24) —> ok —>quit
- 如果没有新建则需要
nmcli connection reload ##刷新配置
nmcli connection up ens3 ##读取配置文件
#选择添加一个新的IP
#选择Ethernet
#name(westosc),device(ens3),ipv4(address 172.25.254.109/24)
#添加成功
#ip仍未改变
#刷新配置,读取配置文件
#刷新后更改成功
#删除
#nmcli connection show
查看连接,删除成功
六、命令方式设定IP
使用nmcli
命令设置网络连接,前提是NetworkManager
服务必须开启。
nmcli device
设定网卡服务接口
nmcli device connect ens3 ##启用ens3网卡
nmcli device disconnect ens3 ##关闭ens3网卡(存在但关闭服务)
nmcli device show ens3 ##查看网卡信息
nmcli device status ##查看网卡服务接口信息
nmcli connection
设定连接
nmcli connection show ##查看连接
nmcli connection down ens3 ##关闭连接(这里的ens3指的是name,不是device)
nmcli connection up ens3 ##开启连接
nmcli connection delete ens3 ##删除连接
#查看连接,关闭连接
#开启连接
#删除连接
- 添加连接
nmcli connection add type ethernet con-name westos(可以任意) ifname ens3(网卡,不可变) ipv4.method manual ipv4.addresses 172.25.254.109/24
- 更改连接(添加一个新地址)
nmcli connection modify westos ipv4.addresses 172.25.254.209/24
nmcli connection reload
nmcli connection up westos
- 自动获取默认设置(添加默认地址)
nmcli connection modify westos ipv4.method auto
nmcli connection reload
nmcli connection up westos
[注意] 自动获取ip需要dhcp服务,具体配置方法在第12点
七、管理网络配置文件(文件方式设定IP)
可以通过管理网络配置文件,用文件方式设定IP
网络配置目录
/etc/sysconfig/network-scripts/
网络配置文件的命名规则
ifcfg-xxxx
实验步骤:
首先保证一个纯净的实验环境
cd /etc/sysconfig/network-scripts/ ##切换到网络配置目录
ls ##查看网络配置文件
nm-connection-editor ---> 删掉已有 ---> ls ##删除已有连接
ls ##配置文件被删除
1、手动设置IP(静态获取IP)
- 静态获取单个IP
vim ifcfg-westosa
///(无序)
DEVICE=ens3 #设备名称
ONBOOT=yes #开机自动开启
BOOTPROTO=none #网卡工作模式(静态,手动修改)
IPADDR=172.25.254.90 #ip地址
NETMASK=255.255.255.0 #子网掩码
NAME=westosa #名称
///
nmcli connection reload
nmcli connection up westos
##静态获取
- 静态获取多个IP
vim ifcfg-westosa
///(无序)
DEVICE=ens3 #设备名称
ONBOOT=yes #开机自动开启
BOOTPROTO=none #网卡工作模式(静态,手动修改)
IPADDR=172.25.254.90 #ip地址
NETMASK=255.255.255.0 #子网掩码
IPADDR1=1.1.1.100
PREFIX1=24 #(netmask = prefix = 子网掩码)
NAME=westosa #名称
///
nmcli connection reload
nmcli connection up westos
2、自动获取IP(动态获取IP)
vim ifcfg-westosa
///
DEVICE=ens3 #设备名称
ONBOOT=yes #开机自动开启
BOOTPROTO=dhcp #网卡工作模式(动态获取ip地址)
NAME=westosa #名称
///
nmcli connection reload
nmcli connection show
[注意] 配置文件目录里不能有无关文件
#配置文件里网卡工作模式为dhcp
#成功,自动获取ip
[注意] 自动获取ip需要dhcp服务,具体配置方法在第12点
八、lo回环接口
在
ip addr
输出里,lo回环接口(127.0.0.1/8),不对外开放,用于主机内部服务之间的交流接口,该接口是固定的。
九、网关
不同网段需要通讯需要路由器,路由器里内核含两个ip地址分别对应两个网段,做地址伪装。
网关,路由器里和来源ip处于同一网段的ip地址
- 真机连接wifi后
- br0–172.25.254.9负责接受上网请求,则网关设置成该ip
- wlp3s0–192.168.43.237,传来的所有ip需要伪装成192.168.43网段
vim /etc/sysconfig/network ##全局网关,针对所有没有设定网关的网卡生效
GATEWAY=172.25.254.250 ##当网卡中设定的IP只有一个时
vim /etc/sysconfig/network-scripts/ifcfg-westosa
GATEWAY0=172.25.254.250 ##当网卡中设定的IP有多个时,指定对对应IP生效
route -n ##查看网关
ip route add default via 172.25.254.9 ##设定网关
ip route del default via 172.25.254.9 ##删除网关
实验步骤:
- 在真机连接wifi,测试是否可以连接外网,
firewall-cmd --add-masquerade
添加伪装,使虚拟机可以上网,将真机作为路由器
firewall-cmd --add-masquerade
ping 14.215.177.39
- 在虚拟机测试是否可以连接外网
- 查看真机的桥接br0网络接口172.25.254.9/24,通过该接口可以将虚拟主机的网卡和真实主机的网卡直接连接起来即桥接,使虚拟主机和真实主机可以正常通信
- 将虚拟主机中网络接口的网关设置为br0:172.25.254.9,网关设置完成后虚拟主机可以ping通外网
##14.215.177.38为百度IP
1、临时网关
route -n
ip route add default via 172.25.254.9 ##增加网关
route -n
ping 14.215.177.39 ##连接外网
2、图形方式设定网关
nm-connection-editor
nmcli connection reload
nmcli connection up westosa
ping 14.215.177.39
3、修改全局网关
修改全局网关配置文件
/etc/sysconfig/network
,重启网络接口,route -n
查看网关
vim /etc/sysconfig/network
///
GATEWAY=172.25.254.9(如果要连接的IPADDR有数字,则加对应数字)
///
nmcli connection reload
nmcli connection up westos
route -n
ping 14.215.177.39
4、修改网卡网关(局部网关)
修改网卡网关配置文件
/etc/sysconfig/network-scripts/ifcfg-westosa
,重启网络接口,route -n
查看网关
vim /etc/sysconfig/network-scripts/ifcfg-westosa
///
GATEWAY=172.25.254.9
///
nmcli connection reload
nmcli connection up westos
route -n
ping 14.215.177.39
[注意] 修改网卡网关配置文件/etc/sysconfig/network-scripts/ifcfg-westosa
过程中
当网卡中设定的IP只有一个时:GATEWAY=172.25.254.20
当网卡中设定的IP有多个时,只针对于那个IP生效:GATEWAY0=172.25.254.20
5、局部网关配置优先级 > 全局网关配置优先级修改网卡
- 局部网关配置文件
/etc/sysconfig/network-scripts/ifcfg-westosa
,设置网关为172.25.254.100,此时全局网关配置文件/etc/sysconfig/network
中网关设定仍为172.25.254.9,重启网络接口,route -n
查看网关为172.25.254.100,这是由于全局网关设置只针对所有没有设定网关的网卡生效
vim /etc/sysconfig/network-scripts/ifcfg-westosa
///
GATEWAY0=172.25.254.100
///
vim /etc/sysconfig/network
///
GATEWAY0=172.25.254.9
///
nmcli connection reload
nmcli connection up westos
route -n
ping 14.215.177.39
十、设定dns域名解析服务
- dns—domain name server指的是域名解析服务,即把域名转换为IP地址。
- 虚拟主机中没有dns服务,无法识别操作者输入的域名,可以通过以下三种方式为其提供地址解析功能。
- 网关设置完后虚拟机可以ping通外网14.215.177.38,但是不能ping通www.baidu.com,即没有域名解析,则需要进行配置。
1、通过修改本地解析文件etc/hosts
在
/etc/hosts
(本地解析文件)里进行域名设定,设定完成后直接生效。缺点是,不现实,如果需要连通的外网非常多,则不方便一一设定其对应的域名解析,效率低。
vim /etc/hosts
///
14.215.177.39 www.baidu.com
///
ping www.baidu.com
#对/etc/hosts
进行修改,添加ip对应的域名
#ping通外网
2、通过修改dns服务的指向文件/etc/resolv.conf
/etc/resolv.conf
(dns地址),是dns服务的指向文件,在此文件中进行nameserver dns服务器IP设定,不需要重新启动网络立即生效,当虚拟主机需要某个域名的IP地址时,系统去问指定的dns服务器,优点是通过简单的设定可以连通大部分外网。
vim /etc/resolv.conf
///
nameserver 114.114.114.114 ##dns服务器114.114.114.114
///
ping www.baidu.com
#设定dns服务器IP指定
#ping通外网
3、通过网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-westos修改
在网卡的配置文件
/etc/sysconfig/network-scripts/ifcfg-westosa
中对该接口的dns进行设定,如DNS1=114.114.114.114
[注意] 这种设定方式需要重启网络才能生效,当网络重新启动,此参数设定会覆盖掉dns服务指向文件/etc/resolv.conf
中的设定
vim /etc/sysconfig/network-scripts/ifcfg-westosa
///
DNS1=114.114.114.114
///
nmcli connection reload
nmcli connection up westosa
ping www.baidu.com
#对接口进行dns设定
#ping通外网
4、优先级设定
优先级:本地解析文件>dns地址(但可以修改),优先连接优先级高的
实验步骤:
- 修改
/etc/hosts
中的dns解析设定,将www.baidu.com对应的IP设定为172.25.254.9(真机IP) - 在
/etc/resolv.conf
中,设定提供dns服务的服务器IP:114.114.114.114 - ping www.baidu.com,得到的是从172.25.254.9返回的数据,由此可见
/etc/hosts
中的设定生效,优先级更高 - 修改定义优先级的配置文件
/etc/nsswitch.conf
,设置dns指向服务优先 - ping www.baidu.com,得到的是从36.152.44.95(百度)返回的数据,优先级设定成功
vim /etc/hosts
///
172.25.254.9 www.baidu.com
///
vim /etc/resolv.conf
///
nameserver 114.114.114.114
///
ping www.baidu.com
##PING www.baidu.com (172.25.251.9) 56(84) bytes of data.
vim /etc/nsswitch.conf
///
hosts: dns files myhostname
///
ping www.baidu.com(ping通百度)
#将www.baidu.com对应的IP设定为172.25.254.9(真机IP)
#设定提供dns服务的服务器IP:114.114.114.114
#原本/etc/nsswitch.conf
中,/etc/hosts
中的设定优先级更高
#对优先级进行修改,dns服务器优先级更高
#ping通百度,优先级设定成功
十一、网络文件仓库配置
- 对本地文件仓库进行修改配置,使虚拟机也可以使用文件仓库。
实验步骤:
- 在真机上对本地文件仓库进行修改,通过
httpd
共享镜像/iso,建立共享目录/var/www/html/westos
,将仓库从/sourcedir
卸载,挂载在共享目录/var/www/html/westos
上。 - 编辑用户自定义开机自启程序
/etc/rc.d/rc.local
,设定镜像开机自启且自动挂载,给程序执行权限。 - 编辑软件源指向文件配置目录
/etc/yum.repos.d/westos.repo
,修改文件地址。 - 在虚拟机上连接本地仓库,删除软件源指向文件配置目录
/etc/yum.repos.d/*
,重新写入。 - 在真机浏览器上进入
172.25.254.9/westos
查看是否配置成功。
- 真机(root用户下执行)
dnf install httpd -y ##下载httpd服务,httpd可以共享/iso的内容
systemctl enable --now httpd ##打开httpd服务
systemctl disable --now firewalld ##关闭火墙
mkdir /var/www/html/westos ##/var/www/html是默认共享目录,必须放在这里
cd /iso/ ##切到镜像存放目录
ls ##检查镜像
cd - ##切出
df ##查看挂载状态,当前挂载在/souecedir
umount /sourcedir ##卸载
df ##查看是否卸载成功
mount /iso/rhel-8.2-x86_64-dvd.iso /var/www/html/westos ##将镜像挂载在共享目录里
vim /etc/rc.d/rc.local ##编辑用户自定义开机自启程序
///
mount /iso/rhel-8.2-x86_64-dvd.iso /var/www/html/westos ##设置开机自启且自动挂载
///
chmod a+x /etc/rc.d/rc.local ##给程序执行权限
vim /etc/yum.repos.d/westos.repo ##编辑软件源指向文件配置目录
///
[AppStream]
name=AppStream
baseurl=file:///var/www/html/westos/AppStream
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled=1
[BaseOS]
name=BaseOS
baseurl=file:///var/www/html/westos/BaseOS
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled=1
///重点在于修改地址
- 虚拟机
rm -rf /etc/yum.repos.d/* ##清空软件源指向文件配置目录,防止影响实验
vim /etc/yum.repos.d/westos.repo
###
[BaseOS]
baseurl=http://172.25.254.9/westos/BaseOS/ ##地址为真机的westos
gpgcheck=0
[AppStream]
name=AppStream
baseurl=http://172.25.254.9/westos/AppStream
gpgcheck=0
###
dnf list all ##列出所有软件
测试:
在真机浏览器上进入172.25.254.9/westos
查看是否配置成功。
#挂载在共享目录
#/etc/rc.d/rc.local
(用于用户自定义开机自启程序),设定镜像开机自启且挂载
#/etc/yum.repos.d/westos.repo
(软件源指向文件配置目录),修改文件地址
#/etc/yum.repos.d/westos.repo
(软件源指向文件配置目录),修改文件地址(共享地址)
#列出所有软件,即配置成功
#共享成功
十二、dhcp服务配置
dhcp服务可以为系统随机分配一个IP。
实验步骤:
- 配置两台纯净的虚拟机。
- 在真机上查看挂载,确保正常
- 在与虚拟机a连接的真机上,下载dhcp,修改配置文件,开启dhcp服务
- 测试:县 断网,在虚拟机b上,
nm-connection-editor
删除已有连接,配置dhcp网络,ifconfig
查看是否自动生成ip - 测试:在虚拟机a上,查看
/var/lib/dhcpd/dhcpd.leases
文件中ip记录与mac地址,此时其与虚拟机b分配的ip,mac相同。
- 虚拟机a
hostnamectl set-hostname dhcp-server.westos.org ##重命名
nmcli connection show ##查看连接
nmcli connection delete Wired\ connectin\ 1 ##删除已有连接
nmcli connection add type ethernet con-name westos ifname ens3 ipv4.method manual ipv4.addresses 172.25.254.109/24 ##添加新连接
- 真机
df ##查看挂载状态
- 与虚拟机a连接的真机
cd /etc/yum.repos.d/ ##切到软件源指向文件配置目录
vim westos.repo
###
[AppStream]
name=AppStream
baseurl=http://172.25.254.9/westos/AppStream
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=http://172.25.254.9/westos/BaseOS
gpgcheck=0
###
cd
dnf search dhcp ##查找含dhcp的软件
dnf install dhcp-server.x86_64 -y ##下载dhcp(但没有配置文件,需要下载配置文件)
rpm -qc dhcp-server ##查找配置文件
vim /etc/dhcp/dhcpd.conf ##配置文件是空的
cat /etc/dhcp/dhcpd.conf ##里面含有配置文件的样本
cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##将样本复制进配置文件
systemctl start dhcpd ##开启dhcp服务
systemctl status dhcpd ##running
*因为我已经做成功了,配置文件这里是没有截图了Orz
修改配置文件
vim /etc/dhcp/dhcpd.conf
set nu ##设置行号
7 --westos.org ##域名
8 --114.114.114.114 ##客户主机使用的dns地址
10 ##默认租约期
27,28行 ##多余的,“#”注释
32 172.25.254.0 255.255.255.0 ##网络位和子网掩码,这里的网络位需要和真机ip为相同的
33 172.25.254.60 172.25.254.90 ##地址池,客户主机获取ip的范围(和子网同一个网络位)
34 172.25.254.250 ##dhcp获得的网关,企业的网关是已知的,此时是无关的,所以可以随便设置
39行之后 ##不需要,删掉或注释(命令模式下d删掉光标之后的内容,u可以恢复)
#/etc/yum.repos.d/westos.repo
#修改配置文件
#开启dhcp服务
测试:
- 虚拟机b
配置dhcp网络
nm-connection-editor
删掉已有,新建dhcp
nmcli connection reload
nmcli connection up westos
ifconfig ##获取ip,在地址池范围内,mac地址
#删除已有
#新建dhcp
#ifconfig
查看,生存新IP与mac地址
- 虚拟机a
cat /var/lib/dhcpd/dhcpd.leases ##分配ip记录,mac地址相同
十三、网络桥接接口
- 在enp0s25真实主机上开启一个接口bridge,用来提高虚拟机通过真机向外数据传输的效率,相比在真机与虚拟机之间建一个虚拟路由器,网桥接口的传输效率有效提高。
配置步骤:
- 真机
virsh list ##列出所有虚拟机
virsh shutdown westosa ##关闭所有虚拟机
westos-network common
virt-manager
双击需要设置网桥的虚拟机
检查nic
cd /etc/sysconfig/network-scripts/ ##网卡配置目录
ls
vim ifcfg-enp0s25
///
DEVICE=enp0s25
BOOTPROTO=none
ONBOOT=yes
NAME=enp0s25
BRIDGE=br0
///
vim ifcfg-br0
///
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.9
NETMASK=255.255.255.0
TYPE=Bridge
NAME=br0
///
nmcli connection reload
nmcli connection up br0
nmcli connection up enp0s25
bridge link
##输出2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100)