Linux网络服务总结,复习看这个很方便(DHCP、FTP、SSH、DNS、NFS、PXE)
目录
- 前言
- 一、DHCP
-
- 1.1 报文类型
- 1.2 端口
- 1.3 配置过程
- 1.4 详细博客
- 二、FTP
-
- 2.1 端口
- 2.2 vsftpd(正统的ftp)
- 2.3 tftp(简单文件传输协议)
- 2.4 sftp
- 2.5 其他传输协议
- 三、ssh
-
- 3.1 配置文件
- 3.2 相关设置
- 3.3 ssh客户端程序
- 3.4 tcp wrappers
- 3.5 详细博客
- 四、DNS
-
- 4.1 解析过程
- 4.2 使用端口
- 4.3 相关配置
- 4.4 详细博客
- 五、NFS
-
- 5.1 配置过程
- 5.2 详细博客
- 六、pxe(纯操作)
-
- 6.1 配置过程
- 6.2 详细博客
- 总结
前言
本篇博客将Linux网络服务常用的做一些简单整理(DHCP、FTP、ssh、DNS、NFS、PXE),起到知识疏导的作用,并不是详细的解析,如果要了解详解,请看相对应的博客
一、DHCP
1.1 报文类型
报文类型 | 含义 |
---|---|
DHCP DISCOVER | 客户端用来寻找DHCP服务器 |
DHCP OFFER | DHCP服务器用来相应DHCP DISCOVER报文,此报文携带了各种配置信息 |
DHCP REQUEST | 客户端请求配置确认,或者续借租期 |
DHCP ACK | 服务器对REQUEST报文的确认响应 |
DHCP NAK | 服务器对REQUEST报文的拒绝响应 |
DHCP RELEASE | 客户端要释放地址时用来通知服务器 |
面试需要说四个包:discover、offer、request、ack
-
discover:客户端广播寻找dhcp服务端,若有多个dhcp服务器,则第一个收到请求的服务器回给客户端信息,其他的包丢弃
-
offer:dhcp服务器广播回给客户端ip地址
-
request:客户端广播发给dhcp服务端,请求使用ip地址
-
ack:dhcp服务器广播回给客户端,这个ip可用,并且包含租期信息等
有多台DHCP服务器时,谁先发给我就用谁的
客户机发给服务器广播
服务器发offer给客户机有单播有广播 微软的是广播,思科华为的是单播
凡是看到微软的四个广播,凡是看到思科华为的两个广播两个单播
1.2 端口
服务端 udp 67
客户端 udp 68
1.3 配置过程
1.安装yum install dhcp -y2.网卡模式调为仅主机模式3.将配置文件/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example 复制到 /etc/dhcp/dhcpd.conf4.修改配置文件subnet 192.168.102.0 netmask 255.255.255.0 {##你的网段 range 192.168.102.20 192.168.102.70;##你的地址池 option routers 192.168.102.1;##你的网关 option domain-name-servers 114.114.114.114;##可以不写 DNS服务器}
1.4 详细博客
https://blog.csdn.net/qq_42327944/article/details/123539047?spm=1001.2014.3001.5502
二、FTP
文件传输协议
2.1 端口
tcp 20 (传输数据) 21(建立控制连接,传输控制命令的)
主要命令:get(下 载) put(上传)
2.2 vsftpd(正统的ftp)
主动模式:服务器主动发起数据连接
被动模式:服务器被动发起数据连接
2.3 tftp(简单文件传输协议)
轻量级的文件传输协议
端口:udp 69
2.4 sftp
端口:tcp 22 (使用的ssh端口)
2.5 其他传输协议
samba文件共享服务;scp(tcp 22 加密、压缩);Telnet(tcp 23 明文)
三、ssh
端口 tcp 22
ssh服务端:openssh服务
ssh客户端:xshell(公司不能直接用,有安全问题)、SecureCRT、putty、mobaXterm
3.1 配置文件
ssh服务端配置文件:/etc/ssh/sshd_conf
ssh客户端配置文件:/etc/ssh/ssh_conf
3.2 相关设置
#禁止root登录vim /etc/ssh/sshd_conf #PermitRootLogin yes 改为 no ,并将注释删除#要使用root,先普通用户登录,再su切换#密钥对1.ssh-keygen -t ecdsa#生成加密算法的密钥,(私钥留给自己,公钥传给对方)2.ssh-copy-id -i /root/.ssh/id_ecdsa.pub root@服务器ip#将公钥传给服务器,公钥在当前用户的家目录的.ssh目录生成, [-i指定公钥文件 ] 3.ssh root@服务器ip #此时使用私钥验证登录#实现免交互:1.ssh-keygen 一路回车,设置空密码,来实现2.设置完后执行 ssh-agent bash(只能在当前连接中有效) 3.ssh-add
3.3 ssh客户端程序
ssh -p 指定端口号(默认22端口)
scp
sftp
3.4 tcp wrappers
一些系统级tcp程序的白名单和黑名单
白名单:/etc/hosts.allow
黑名单:/etc/hosts.deny
#格式程序名列表:客户端列表sshd:ALL(所有) sshd:192.168.109.0/24(整个网段)sshd:192.168.41.111 (具体主机)
在不考虑防火墙的情况下,先放通 /etc/hosts.allow 中配置的程序访问,再检查/etc/hosts.deny 中的配置,并且拒绝访问。如果以上两个文件都没有匹配到,就默认放行(允许访问)
allow的优先级高于deny
3.5 详细博客
https://blog.csdn.net/qq_42327944/article/details/123725610?spm=1001.2014.3001.5502
四、DNS
把域名解析成IP地址,点到点的通信IP->IP
http://www.sina.com.cn/ (FQDN完整的合格域名)
http://主机名.子域.二级域.顶级域 根域/
4.1 解析过程
4.2 使用端口
tcp 53端口 连接DNS服务器
udp 53端口 解析DNS
正向解析 域名解析成IP
反向解析 IP解析成域名
4.3 相关配置
软件bind
服务名named
/etc/named.conf #主配置文件,配置监听IP端口,允许访问主机的列表/etc/named.rfc1912.zones #区域配置文件,要解析的域名,例如stevelu.com,设置域名服务器的类型,数据文件的名称/var/named/named.localhost #区域数据文件,主机名与IP地址的映射关系
systemctl start/restart named //启动服务
如果启动失败,去查看日志
/var/log/messages
journalctl -u named
#DNS配置过程1.yum install -y bind bind-utils#安装软件2.systemctl stop firewalld.service#关闭防火墙3.setenforce 0#关闭selinux4.systemctl start named#开启服务5.netstat -ntap |grep named#查看端口情况6.vim /etc/sysconfig/network-scripts/ifcfg-ens33 --------------------------------------------------DNS1=127.0.0.1--------------------------------------------------7.systemctl restart network#修改本机DNS,自己测试用8.ping www.baidu.com#测试连通性9.vim /etc/named.conf--------------------------------------------------listen-on port 53 { any; };allow-query { any; };--------------------------------------------------#修改主配置文件10.rndc reload#重新加载11.vim /etc/named.rfc1912.zones --------------------------------------------------zone "stevelu.com" IN { type master; file "stevelu.com.zone";};--------------------------------------------------#修改区域配置文件12.cd /var/named/13.cp named.localhost ./stevelu.com.zone -p--------------------------------------------------master NS mastermaster A192.168.109.100www A192.168.109.101-------------------------------------------------#修改区域数据文件,仅正向解析14.systemctl restart named#重启服务
4.4 详细博客
https://blog.csdn.net/qq_42327944/article/details/123605866?spm=1001.2014.3001.5501
五、NFS
远程共享存储服务,实际上NFS不是存储设备,只是一个服务
存储设备:文件服务器(Linux服务器,硬盘,LVM,raid , NAS (企业级的专业存储设备))
再配合 NFS服务把存储空间发布出去,供客户端挂载使用
服务名 | 对应软件 | 端口号 |
---|---|---|
rpcbind(远程调用) | rpcbind | tcp111 |
nfs | nfs-utils | tcp2049 |
5.1 配置过程
#关闭防火墙和selinux1.yum install nfs-utils.x86_64 rpcbind -y #安装软件包服务器:1.mkdir /nfsfile #新建共享目录2.chmod -R 777 /nfsfile #设置权限3.echo "hello world" > /nfsfile /hello #创建文件并写入4.vim /etc/exports #编辑配置文件/nfsfile 192.168.109.*(rw,sync,root_squash)# 目录 客户端网段 (读写权限,同步,不丢失数据,映射为服务器的匿名用户)5.systemctl restart nfs #重启服务,如有人正在使用共享目录,重启会有影响使用下面的命令#exports -rv #加载客户端:1.systemctl start rpcbind2.systemctl start nfs3.showmount -e 192.168.109.131 #查看该服务器下的共享目录4.mount 192.168.109.131:/nfsfile/ /mnt #手动挂载目录#自动挂载目录/etc/fstab服务器端IP:/opt/share /data nfs default,__netdev 0 0
5.2 详细博客
https://blog.csdn.net/qq_42327944/article/details/123676040?spm=1001.2014.3001.5501
六、pxe(纯操作)
6.1 配置过程
- 安装启动tftp
- 安装启动dhcp
- 安装syslinux 目的是获取pxelinux.0(pxe引导程序文件)
- pxelinux.0,内核文件vmlinuz,初始化镜像文件 initrd.img 复制到tftp的根目录 /var/lib/tftpboot
- 安装vsftpd,根目录/var/ftp 在这里创建一个空目录,把光盘挂载到这个空目录
- 准备启动菜单文件 /var/lib/tftpboot/pxelinux.cfg/default
- 准备kickstart,自动应答文件
注:pxe客户端内核要求至少2G
6.2 详细博客
https://blog.csdn.net/qq_42327944/article/details/123687319?spm=1001.2014.3001.5501
总结
以上是Linux网络常用服务的主要知识点汇总,可当复习用