Linux 4 —— 开机启动、网络配置
开机启动
服务自启动
daemon命令 | systemctl命令 | 说明 |
---|---|---|
chkconfig [服务] on | systemctl enable [unit type] | 设置服务开机启动 |
chkconfig [服务] off | systemctl disable [unit type] | 设备服务禁止开机启动 |
1 | systemctl enable jenkins.service |
脚本自启动
- 将指令写入
/etc/rc.d/rc.local
,并赋予其可执行权限 - 将脚本移动到
/etc/rc.d/init.d
并赋予可执行权限,使用¨chkconfig --add autostart.sh
和chkconfig 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 | ifconfig eth0 up |
修改网络接口配置
临时修改
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)一个子进程响应这个连接,而主进程继续监听其他的服务请求。
xinetd 模式
stand-alone 必须运行一个监听某个端口连接情况的守护进程,这通常意味着资源浪费。
xinetd能够同时监听多个指定的端口,根据用户请求的端口不同,启动不同的网络服务进程来处理用户请求。
对于访问量大、经常出现并发访问时,xinetd 频繁启动对应的网络服务进程,反而会导致系统性能下降。
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(服务器 主动连接 客户端 )
- 客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(即 tcp 21 端口)
- 客户端开始监听端口 N+1,并发送FTP命令“port N+1”到FTP服务器
- 服务器会从它自己的数据端口(20)主动连接到客户端指定的数据端口(N+1)
- 客户端就可以和ftp服务器建立数据传输通道了
被动模式PASV(服务器 被动等待 客户端连接)
- 客户端打开两个任意的非特权本地端口(N >1024 和 N+1)
- 第一个端口连接服务器的21端口,提交PASV命令
- 服务器会开启一个任意的非特权端口(P > 1024),并发送给客户端
- 客户端发起从本地端口 N+1 到服务器的端口的连接用来传送数据。(注意此模式下的FTP服务器不需要开启tcp 20端口了)