CentOS7网络配置

CentOS7网络配置

查看网络IP和网关

查看物理机上的ip(window系统):win+r输入cmd,在命令行窗口中输入ipconfig

CentOS7网络配置_第1张图片

说明:VMnet1和VMnet8是安装VM之后为我们虚拟出来的网络适配器(网卡),这里先不讲,看完下面的三种网络连接模式你就懂了,WLAN是物理机网络适配器,IPV4是物理机在当前局域网中的ip地址。

查看虚拟机的ip地址:打开终端输入ifconfig[^p41]或者ip addr

CentOS7网络配置_第2张图片

说明:ens33网络适配器中的ip地址是vm在当局域网中的ip,而virbro是虚拟机创建了一个默认的虚拟网桥设备,可以在虚拟机中在安装VM,在到VM中安装操作系统,就是使用这个虚拟网桥,作用类似于物理机上的VMnet8

提出疑问:

从上面的观察可以知道pc机与vm中的虚拟机是不在同一个网段的。

问题1:为什么虚拟机和主机不在同一个网段,也可以通信呢?它们到底是怎么通信的呢?

问题2:为什么在主机中会多出两个网络适配器?1也就是为什么会多两个虚拟网卡?

CentOS7网络配置_第3张图片

VMware提供了三种网络连接模式:

桥接模式

虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的(是同一个局域网可见)。

网桥:可以理解为网络连接扩展设备。用来连接两个不同网段的网络设备
CentOS7网络配置_第4张图片

网桥的缺点:
单一广播域:网桥连接的所有设备都在同一个广播域内,当网络中的广播和多播流量增加时,可能会导致网络拥塞和性能下降。

广播风暴:如果一个设备在广播消息中发送大量的广播包,网桥会复制并转发该广播消息到所有其他设备,这可能导致广播风暴,影响网络性能。

安全性问题:网桥没有明确的安全隔离功能,所有连接到网桥的设备都在同一个网络中,可能会增加网络安全风险。

有限的端口:网桥通常具有有限的端口数量,限制了可以连接到网络的设备数量。

网络隔离:如果需要将不同的网络隔离开来,网桥并不能提供完全隔离的功能,需要使用其他更高级的网络设备如路由器、虚拟局域网 (VLAN) 等。

DHCP是Dynamic Host Configuration Protocol的缩写,即动态主机配置协议。它是一个网络协议,用于动态地向网络上的主机分配IP地址、子网掩码、网关等网络参数,以及DNS服务器等。DHCP协议能够自动为网络上的主机配置网络参数,避免了手工配置的繁琐和容易出错。在局域网中,一般由路由器或者服务器来提供DHCP服务,向客户端分配IP地址等参数。

NAT模式

NAT模式(network address translation 网络地址转换,虚拟机和主机构建一个专有网络,并通过虚拟机网络地址转换(NAT)设备对IP进行转换。虚拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机。所以不在是通过路由器分配的局域网地址去访问外网了

CentOS7网络配置_第5张图片

仅主机模式

虚拟机只与主机共享一个专用网络,与外部网络无法通信。
CentOS7网络配置_第6张图片

设置静态IP

这里介绍使用NAT模式

  • 查看虚拟网络配置

    CentOS7网络配置_第7张图片

使用UI界面设置静态ip

CentOS7网络配置_第8张图片

修改了网络配置信息的话,需要重启网络服务

systemctl  restart  network.service 

使用配置文件设置静态ip

[root@FairyQin ~]# ifconfig           #查看网络名为ens33	
[root@FairyQin ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33           
#按照下面的内容修改 
TYPE="Ethernet" #网络类型(通常是 Ethemet)
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #[none|static|bootp|dhcp]
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="e83804c1-3257-4584-81bb-660665ac22f6" #随机 id
DEVICE="ens33" #接口名(设备,网卡)
ONBOOT="yes" #系统启动的时候网络接口是否有效(yes/no)
#IP 地址
IPADDR=192.168.1.100     #配置成你自己的网段
#网关
GATEWAY=192.168.1.2       #配置成你自己的NAT设置中的值,在上面图片中有
#域名解析器
DNS1=192.168.1.2
#重启网络服务
[root@FairyQin ~]# systemctl  restart network.service 

修改 IP 地址后可能会遇到的问题
( 1) 物理机能 ping 通虚拟机, 但是虚拟机 ping 不通物理机,一般都是因为物理机的防火墙问题,把防火墙关闭就行
(2) 虚拟机能 Ping 通物理机,但是虚拟机 Ping 不通外网,一般都是因为 DNS 的设置有问题
( 3) 虚拟机 Ping www.baidu.com 显示域名未知等信息,一般查看 GATEWAY 和 DNS 设置是否正确
(4) 如果以上全部设置完还是不行, 需要关闭 NetworkManager 服务

systemctl stop NetworkManager 关闭
systemctl disable NetworkManager 禁用

(5) 如果检查发现 systemctl status network 有问题 需要检查 ifcfg-ens33 配置文件是否正确

补充:

由于centos系列不久将不在长期支持维护,所以出现了一些centos的替代品,这里介绍比较好的、使用和centos相差不大的AlmaLinux9的静态ip配置

由于AlmaLinux9中NetworkManager不再创建ifcfg这种格式的新配置文件。NetworkManager将新的网络配置文件以keyfile格式存储在/etc/NetworkManager/system-connections/ directory(这里我也是新手就不多解释了)直接先用上

[root@root system-connections]# cd /etc/NetworkManager/system-connections
[root@root system-connections]# ls
ens33.nmconnection

#直接用vim打开,配置成下面的内容,保存退出,重启网络服务,测试
[connection]
id=ens33
uuid=43eec999-5a87-3f2b-9177-287015fd0a0c
type=ethernet
autoconnect-priority=-999
interface-name=ens33
timestamp=1684214714

[ethernet]

[ipv4]
address1=192.168.241.250/24,192.168.241.2        #ip 子网掩码,网关
dns=192.168.241.2;8.8.8.8;8.8.4.4;      #自定义dns,多个使用逗号隔开
ignore-auto-dns=true   #不适用自动dns
method=manual          #manual表示使用静态ip地址

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]

#使用下面的命令重启ens33(重启也可以)
nmcli connection down ens33 && nmcli connection up ens33        #如果执行了这个还是不行,重启一下就可以了

ssh免密登入

AlmaLinux9默认情况下禁止使用SSH root密码登入,如果要使用ssh root密码登入需要修改配置文件

[root@root ~]# vim /etc/ssh/sshd_config        #打开配置文件
#PermitRootLogin prohibit-password    
PermitRootLogin yes          #允许root
 
[root@root ~]# systemctl  restart sshd          #重启服务,这里最好重启机器

下面的操作是在远程连接的客户端中操作的

ssh-keygen -t rsa           #在远程连接工具中打开一个终端输入这个命令,-t表示使用rsa算法
Generating public/private rsa key pair.
Enter file in which to save the key (/home/1234/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/1234/.ssh/id_rsa
Your public key has been saved in /home/1234/.ssh/id_rsa.pub

把生成的公钥id_rsa.pub上传到服务器上(这里使用xftp上传),因为是物理机和服务器在一台机器上,如果是真实的服务器可以使用以下命令上传

[root@angelxin ~]# sftp root@ip           #然后输入密码登入服务器(这些操纵是在连接上服务器在服务器上操作的)
sftp> put /home/1234/.ssh/id_rsa.pub         #上传公钥
sftp>exit           #退出sftp

#将公钥信息追加到~/.ssh/autorized_keys文件中,在almalinux9中的autorized_keys文件名改了known_hosts
[root@angelxin .ssh]# cat id_rsa.pub  >> known_hosts

#退出服务器,在客户端使用-i 指定私钥地址连接服务器
ssh -i ./id_rsa [email protected]

配置主机名

查看当前主机名:

[root@FairyQin ~]# hostname         #其实在命令提示这里就直接显示了FairyQin当前主机名
或者
[root@FairyQin ~]# cat /etc/hostname

hostnamectl命令查询或改变系统主机名

命令格式:hostnamectl [OPTIONS...] COMMAND ...      
[root@FairyQin ~]# hostnamectl status        #查看当前主机的设置
[root@FairyQin ~]#hostnamectl set-hostname  新的主机名
#这样改的主机名就不需要重启了(如果直接在配置文件中改的主机名的话就需要reboot)

  1. 网络适配器又称网卡、网络接口卡(NIC)NetworkInterfaceCard ↩︎

你可能感兴趣的:(操作系统,网络,centos,linux)