在CentOS 7中,网络配置和DHCP(动态主机配置协议)的应用是系统管理和网络管理的核心内容之一,本文将详细介绍如何在CentOS 7中进行网络设置以及如何使用DHCP来动态分配IP地址。
网络配置工具
CentOS 7使用网络管理器(NetworkManager)来管理网络,NetworkManager是一个后台服务,用于检测和配置网络设置,在安装了图形桌面环境(如GNOME)的情况下,可以使用图形用户界面(GUI)方便地配置网络,在命令行界面(CLI)中,可以使用nmtui和nmcli命令通过网络管理器配置网络。
网络接口命名
在包括CentOS 7在内的现代Linux系统中,网络接口的命名规则已经发生了变化,传统的eth0、eth1等命名方式已被新的命名规则所取代,新的命名规则以en开头,如ens33、ens34等,如果网络接口名称以en开头,则它是直接插入的以太网电缆,如果网络接口名称以wl开头,则它是WiFi接口。
静态与动态IP地址
静态IP地址是固定的,不会随时间而变化,动态IP地址可能会随时间而变化,在DHCP网络环境中,当DHCP客户端向DHCP服务器请求IP地址时,DHCP服务器会在一定时间(TTL)内从一系列IP地址中租用一个IP地址给客户端。
使用DHCP客户端
在CentOS 7中,可以使用dhclient命令将网络接口配置为使用DHCP,使用以下命令释放网络接口的IP地址:
sudo dhclient -v -r ens36
使用以下命令更新网络接口的IP地址:
sudo dhclient -v ens36
DNS和/etc/hosts文件
域名系统(DNS)用于将主机名解析为IP地址,反之亦然,在DNS服务器存在之前,/etc/hosts文件用于进行名称解析,在CentOS 7中,/etc/hosts文件包含本地主机名和IP地址的映射,当您在系统中输入一个主机名时,系统会首先检查/etc/hosts文件,以确定是否存在相应的IP地址。
默认网关
默认网关是数据包默认前往的路径,如果您正在使用路由器,那么您已经在使用网关,在CentOS 7中,可以使用ip route show命令查找默认网关。
ip route show
输出结果中,default via开头的行表示默认网关。
default via 192.168.1.1 dev ens33
这表示默认网关为192.168.1.1,通过ens33网络接口。
连接到WiFi网络
在CentOS 7中,您可以使用图形用户界面或nmtui命令行工具连接到WiFi网络,在图形用户界面中,您可以通过点击网络图标,选择合适的WiFi网络并输入密码进行连接,在命令行界面中,您可以使用nmtui命令进入网络管理器文本用户界面,然后选择“激活 a connection”并选择合适的WiFi网络进行连接。
使用图形界面设置网络
打开网络设置:
如果您使用的是GNOME桌面环境,可以点击右上角的活动概览,然后点击网络图标来访问网络设置,在其他桌面环境中,通常可以通过系统设置或者一个专门的网络管理器图标来访问网络设置。
添加新连接:
在网络设置中,您可以选择“添加”或“新建连接”来创建一个新的网络连接。
选择连接类型:
根据您的需要选择连接类型,如以太网、Wi-Fi等。
配置连接:
对于以太网连接,通常不需要太多配置,因为默认情况下它应该使用DHCP自动获取IP地址,对于Wi-Fi连接,您需要选择正确的网络,然后输入密码。
保存并激活连接:
配置完成后,保存设置并激活连接。
使用命令行设置网络
查看网络接口:
使用ip link show或ifconfig命令查看网络接口的状态。
启用和禁用网络接口:
使用nmcli con up <interface>来启用网络接口,使用nmcli con down <interface>来禁用网络接口。
配置静态IP地址:
使用nmcli命令配置静态IP地址。
nmcli con mod "System eth0" ipv4.addresses 192.168.1.100/24 nmcli con mod "System eth0" ipv4.gateway 192.168.1.1 nmcli con mod "System eth0" ipv4.dns "192.168.1.1" nmcli con up "System eth0"
配置DHCP:
要使用DHCP获取IP地址,可以使用nmcli命令删除静态IP地址配置。
nmcli con mod "System eth0" ipv4.method auto nmcli con up "System eth0"
重启网络服务:
在修改网络配置后,可能需要重启网络服务,使用以下命令:
systemctl restart NetworkManager
测试网络连接:
使用ping命令测试网络连接,
ping google.com
注意事项:
在修改网络设置时,确保您有足够的权限,可能需要使用sudo,如果您的系统没有安装ifconfig命令,可以使用yum install net-tools来安装,网络配置文件通常位于/etc/sysconfig/network-scripts/目录下,您可以直接编辑这些文件来配置网络,如果您在使用虚拟机,确保虚拟机的网络设置与主机相匹配。
DHCP服务器配置
确保server的网络适配器为仅主机模式:
在NAT模式下打开虚拟机,因为在仅主机模式下虚拟机是无法访问外网的,无法下载dhcp,仅主机模式只是在该模式下将所有仅主机模式的虚拟机连成一个小型局域网,该模式下的所有虚拟机都可以互连互通。
克隆一台虚拟机client:
将client的“使用本地 DHCP 服务将 P 地址分配给虚拟机(D)”选项取消。
激活vmnet1适配器:
打开所有设置,找到网络和Internet,点击更改适配器选项,将vmnet1激活。
开启Server虚拟机,配置Server的ip地址为静态ip:
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33
修改以下内容:IP网段可以在编辑选项查询
BOOTPROTO=static //改为静态的 ONBOOT=yes //开机时自动启动 IPADDR=192.168.80.50 //IP地址 NETMASK=255.255.255.0 //子网掩码 GATEWAY=192.168.80.1 //网关
重启网卡:
systemctl restart network
检查一下ip:
ifconfig
编辑client的网卡:
BOOTPROTO=dhcp //dhcp协议获取ip
ONBOOT=yes //开机时自动启动,都要重启网卡:
systemctl restart network.service
检查一下看有没有下载dhcp软件包:
rpm -qa|grep dhcp
开始下载dhcp,首先切换到镜像源的软件包中:
cd /run/media/dhp/CentOS\ 7\ x86_64//Packages/ ls |grep dhcp
我们下载的是第一个软件包:
rpm -ivh dhcp-4.2.5-83.el7.centos.1.x86_64.rpm
注意:这里一定要用table键补齐!!!发现下载失败,原因是有两个依赖的软件包需要下载,那就先下载那两个依赖软件包:
rpm -ivh dhcp-libs-4.2.5-83.el7.centos.1.x86_64.rpm rpm -ivh dhcp-common-4.2.5-83.el7.centos.1.x86_64.rpm
下载后再次检查:
rpm -qa|grep dhcp
配置dhcpd.conf文件:
cd /etc/dhcp
vi dhcpd.conf
注意:不要忘记分号!!!
subnet 192.168.80.0 netmask 255.255.255.0{
range dynamic-bootp 192.168.80.80 192.168.80.100;
option routers 192.168.80.1;
重启dhcp服务:
systemctl restart dhcpd
systemctl status dhcpd
在client虚拟机设置动态获取ip地址:
nmcli connection modify ens33 ipv4.method auto
nmcli connection up ens33
使用ifconfig查看IP地址:
ifconfig