Linux 4 —— 开机启动、网络配置

开机启动

服务自启动

daemon命令 systemctl命令 说明
chkconfig [服务] on systemctl enable [unit type] 设置服务开机启动
chkconfig [服务] off systemctl disable [unit type] 设备服务禁止开机启动
1
systemctl enable jenkins.service

脚本自启动

  1. 将指令写入 /etc/rc.d/rc.local,并赋予其可执行权限
  2. 将脚本移动到 /etc/rc.d/init.d 并赋予可执行权限,使用 ¨chkconfig --add autostart.shchkconfig autostart.sh on 添加到开机启动项目中

配置文件

配置文件 用途
/etc/sysconfig/network 最基本的网络信息,系统启动时读取该文件
/etc/sysconfig/network-scripts/ 此目录下的文件是系统启动时用来初始化网络的一些信息,例如:第一块以太网卡对应的文件为ifcfg-eth0
/etc/host.conf 域名解析的配置文件
/etc/hosts 域名或主机名与IP地址的映射文件
/etc/resolv.conf 域名服务器配置文件
/etc/protocols 定义使用的网络互联协议及协议号
/etc/services 设定主机的不同端口的网络服务

/etc/sysconfig/network

  • NETWORKING:yes/no,表示主机是否支持网络功能
  • HOSTNAME:主机名(即域名)
  • GATEWAY: 默认网关
  • FORWARD_IPV4: 设置本机是否允许转发IPV4的数据包
  • DOMAINNAME: 此台主机所属的网络域
  • GATEWAYDEV: 连接网关的设备,例如eth0,如果是拨号用户则设为ppp0

/etc/sysconfig/network-scripts/ifcfg-*

设备名称
DEVICE=eth0
启动时是否启动该设备
ONBOOT=yes
启动协议,none 表示使用用户设置的 ip,地址,dhcp 表示从dhcp获得ip地址, static 表示静态
BOOTPROTO=none
IP地址
IPADDR=192.168.14.11
子网掩码
NETMASK=255.255.255.0
网关
GATEWAY=XX.XXX.XXXX
DNS服务器
DNS1=xx.xxx.xxx.xx

Command: ifconfig

禁用/激活网络接口

1
2
3
4
ifconfig eth0 up
ifconfig eth0 down
ifup eth0
ifdown eth0

修改网络接口配置

临时修改

1
ifconfig <设备名> <IP> netmask <掩码>

永久修改

1
/etc/sysconfig/network-scripts/ifcfg-xxx 

Command: netstat

用于显示网络状态

格式: netstat [选项]

参数 作用
-a或–all 显示所有连线中的Socket
-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址
-c或–continuous 持续列出网络状态
-e或–extend 显示网络其他相关信息
-l或–listening 显示监控中的服务器的Socket
-n或–numeric 直接使用IP地址,而不通过域名服务器
-p或–programs 显示正在使用Socket的程序识别码和程序名称
-t或–tcp 显示TCP传输协议的连线状况
-u或–udp 显示UDP传输协议的连线状况
-v或–verbose 显示指令执行过程

Command: chkconfig

用于检查和设置系统的各种服务,设置启动项

格式:chkconfig [选项] 服务名 [状态]

参数 作用
–add 添加指定的新服务
–del 删除指定服务
–level<运行级别编号> 改变服务的运行级别及启动信息
–list 显示所有或指定服务,以及他们在每个运行级别是否启动
daemon命令 systemctl命令 说明
service [服务] start systemctl start [unit type] 启动服务
service [服务] stop systemctl stop [unit type] 停止服务
service [服务] restart systemctl restart [unit type] 重启服务

网络服务模型

网络服务主要靠服务名以及服务端口号进行区分

网络服务启动后,会在服务器上驻留服务进程,该进程对本身的服务进行监控,比如:客户端连接服务端口,服务进程就响应连接,提供服务

独立守护进程模式 stand-alone

在Client/Server模式下,服务器监听(Listen)在一个特定的端口上等待客户连接,连接成功后服务器和客户端通过端口进行数据通信。守护进程的工作就是打开一个端口,并且等待(Listen)进入连接。

如果客户端发起一个连接请求,守护进程就创建(Fork)一个子进程响应这个连接,而主进程继续监听其他的服务请求。

image-20220525233634785

xinetd 模式

stand-alone 必须运行一个监听某个端口连接情况的守护进程,这通常意味着资源浪费。

xinetd能够同时监听多个指定的端口,根据用户请求的端口不同,启动不同的网络服务进程来处理用户请求。

对于访问量大、经常出现并发访问时,xinetd 频繁启动对应的网络服务进程,反而会导致系统性能下降。

image-20220525233729923

1
yum install -y xinetd

配置文件:

  • /etc/xinetd.conf控制 xinetd 程序运行的配置文件。

  • /etc/xinetd.d/* 所有由 xinetd 程序启动的服务的配置文件,配置文件名与服务名一致。

Telnet

Telnet 是一种远程登录应用,常用于系统远程维护,端口23。Telnet设计为基于xinetd的一种服务,受xinetd管理。

1
yum install -y telnet telnet-server
1
telnet ip

vsFTPd

vsFTPd(very secure FTP daemon)是一个功能强大的FTP服务器,能运行在大部分UNIX 类作系统上。

主动模式PORT(服务器 主动连接 客户端 )

  1. 客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(即 tcp 21 端口)
  2. 客户端开始监听端口 N+1,并发送FTP命令“port N+1”到FTP服务器
  3. 服务器会从它自己的数据端口(20)主动连接到客户端指定的数据端口(N+1)
  4. 客户端就可以和ftp服务器建立数据传输通道了

被动模式PASV(服务器 被动等待 客户端连接)

  1. 客户端打开两个任意的非特权本地端口(N >1024 和 N+1)
  2. 第一个端口连接服务器的21端口,提交PASV命令
  3. 服务器会开启一个任意的非特权端口(P > 1024),并发送给客户端
  4. 客户端发起从本地端口 N+1 到服务器的端口的连接用来传送数据。(注意此模式下的FTP服务器不需要开启tcp 20端口了)