首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第六章:存储结构与磁盘划分
一切从“/”开始
物理设备的命名规则
文件系统与数据资料
挂载硬件设备
添加硬盘设备
添加交换分区
磁盘容量配额
软硬方式链接
第七章:使用RAID与LVM磁盘阵列技术
RAID(独立冗余磁盘阵列)
LVM(逻辑卷管理器)
第八章:iptables与firewalld防火墙
防火墙管理工具
iptables
firewalld
服务的访问控制列表
第九章:使用ssh服务管理远程主机
配置网络参数
配置sshd服务
不间断会话服务
第十章:使用Apache服务部署静态网站
网站服务程序
配置服务文件参数
SELinux安全子系统
当前位置:
首页>>
技术小册>>
Linux应该怎么学(中)
小册名称:Linux应该怎么学(中)
截至目前,大家已经完全可以利用当前所学的知识来管理Linux系统了。当然,大家的水平完全可以更进一步,当有朝一日登顶技术巅峰时,您一定会感谢现在正在努力学习的您。 我们接下来将学习如何在Linux系统上配置服务。但是在此之前,必须先保证主机之间能够顺畅地通信。如果网络不通,即便服务部署得再正确用户也无法顺利访问,所以,配置网络并确保网络的连通性是学习部署Linux服务之前的最后一个重要知识点。 在4.1.3小节讲解了如何使用Vim文本编辑器来配置网络参数,其实,在RHEL 7系统中有至少5种网络的配置方法,刘遄老师尽量在本书中为大家逐一演示。这里教给大家的是使用nmtui命令来配置网络,其具体的配置步骤如图9-1至图9-8所示。当遇到不容易理解的内容时,我们会额外进行解释说明。 ![](/uploads/images/20240510/9e220b6a5bf2ddea2d61cc34a8cc04c0.png) 图9-1 执行nmtui命令运行网络配置工具 ![](/uploads/images/20240510/e0eb00ac9802f67d6d4ee81cf5b8aa67.png) ![](/uploads/images/20240510/7aeff50f643901363d186b27518c1517.png) ![](/uploads/images/20240510/babe7e2ba6e0005c32388a77ac70d484.png) ![](/uploads/images/20240510/022c1b4ea93e5e74b7cb56fa16799666.png) 现在,在服务器主机的网络配置信息中填写IP地址192.168.10.10/24。 在RHEL 5、RHEL 6系统及其他大多数早期的Linux系统中,网卡的名称一直都是eth0、eth1、eth2、……,但在RHEL 7中则变成了类似于eno16777736这样的名字。不过除了网卡的名称发生变化之外,其他几乎一切照旧,因此这里演示的网络配置实验完全可以适用于各种版本的Linux系统。 注: 再多提一句,我们的这本《Linux就该这么学》不仅学习门槛低、简单易懂,而且还有一个潜在的优势——书中所有的服务器主机IP地址均为192.168.10.10,而客户端主机均为192.168.10.20及192.168.10.30。这样的好处就是,在后面部署Linux服务的时候,不用每次都要考虑IP地址变化的问题,从而可以心无旁骛地关注配置细节。 至此,在Linux系统中配置网络的步骤就结束了。 刘遄老师在培训时经常会发现,很多学员在安装RHEL 7系统时默认没有激活网卡。如果各位读者有同样的情况也不用担心,只需使用Vim编辑器将网卡配置文件中的ONBOOT参数修改成yes,这样在系统重启后网卡就被激活了。 [root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=eno16777736 UUID=ec77579b-2ced-481f-9c09-f562b321e268 ONBOOT=yes IPADDR0=192.168.10.10 HWADDR=00:0C:29:C4:A4:09 PREFIX0=24 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes 当修改完Linux系统中的服务配置文件后,并不会对服务程序立即产生效果。要想让服务程序获取到最新的配置文件,需要手动重启相应的服务,之后就可以看到网络畅通了: [root@linuxprobe ~]# systemctl restart network [root@linuxprobe ~]# ping -c 4192.168.10.10 PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data. 64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.056 ms 64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.099 ms 64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.095 ms 64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.095 ms ---192.168.10.10 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.056/0.086/0.099/0.018 ms 9.1.2 创建网络会话RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理Network Manager服务。nmcli是一款基于命令行的网络配置工具,功能丰富,参数众多。它可以轻松地查看网络信息或网络状态: [root@linuxprobe ~]# nmcli connection show NAME UUID TYPE DEVICE eno16777736 ec77579b-2ced-481f-9c09-f562b321e268802-3-ethernet eno16777736 [root@linuxprobe ~]# nmcli con show eno16777736 connection.id: eno16777736 connection.uuid: ec77579b-2ced-481f-9c09-f562b321e268 connection.interface-name: -- connection.type: 802-3-ethernet connection.autoconnect: yes connection.timestamp: 1487348994 connection.read-only: no connection.permissions: connection.zone: -- connection.master: -- connection.slave-type: -- connection.secondaries: connection.gateway-ping-timeout: 0 ………………省略部分输出信息……………… 另外,RHEL7系统支持网络会话功能,允许用户在多个配置文件中快速切换(非常类似于firewalld防火墙服务中的区域技术)。如果我们在公司网络中使用笔记本电脑时需要手动指定网络的IP地址,而回到家中则是使用DHCP自动分配IP地址。这就需要麻烦地频繁修改IP地址,但是使用了网络会话功能后一切就简单多了——只需在不同的使用环境中激活相应的网络会话,就可以实现网络配置信息的自动切换了。 可以使用nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话。假设将公司网络中的网络会话称之为company,将家庭网络中的网络会话称之为house,现在依次创建各自的网络会话。 使用con-name参数指定公司所使用的网络会话名称company,然后依次用ifname参数指定本机的网卡名称(千万要以实际环境为准,不要照抄书上的eno16777736),用autoconnect no参数设置该网络会话默认不被自动激活,以及用ip4及gw4参数手动指定网络的IP地址: [root@linuxprobe ~]# nmcli connection add con-name company ifname eno16777736 autoconnect no type ethernet ip4192.168.10.10/24 gw4192.168.10.1 Connection 'company' (86c71220-0057-419e-b615-38f4014cfdee) successfully added. 使用con-name参数指定家庭所使用的网络会话名称house。因为我们想从外部DHCP服务器自动获得IP地址,因此这里不需要进行手动指定。 [root@linuxprobe ~]# nmcli connection add con-name house type ethernet ifname eno16777736 Connection 'house' (44acf0a7-07e2-40b4-94ba-69ea973090fb) successfully added. 在成功创建网络会话后,可以使用nmcli命令查看创建的所有网络会话: [root@linuxprobe ~]# nmcli connection show NAME UUID TYPE DEVICE house 44acf0a7-07e2-40b4-94ba-69ea973090fb 802-3-ethernet -- company 86c71220-0057-419e-b615-38f4014cfdee 802-3-ethernet -- 使用nmcli命令配置过的网络会话是永久生效的,这样当我们下班回家后,顺手启用house网络会话,网卡就能自动通过DHCP获取到IP地址了。 [root@linuxprobe ~]# nmcli connection up house Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ ActiveConnection/2) [root@linuxprobe ~]# ifconfig eno1677773628: flags=4163<UP, BROADCAST, RUNNING, MULTICAST> mtu 1500 inet 192.168.100.128 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::20c:29ff:fec4:a409 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c4:a4:09 txqueuelen 1000 (Ethernet) RX packets 42 bytes 4198 (4.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 75 bytes 10441 (10.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP, LOOPBACK, RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 518 bytes 44080 (43.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 518 bytes 44080 (43.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 如果大家使用的是虚拟机,请把虚拟机系统的网卡(网络适配器)切换成桥接模式,如图9-9所示。然后重启虚拟机系统即可。
上一篇:
第九章:使用ssh服务管理远程主机
下一篇:
配置sshd服务
该分类下的相关小册推荐:
Vim实用技巧必知必会
Vim编辑器入门到实战
CentOS入门指南
bash脚本编程实战
LInux运维零基础入门到实战
Linux应该怎么学(下)
Linux应该怎么学(上)
Shell编程入门与实战