Linux网络服务总结,复习看这个很方便(DHCP、FTP、SSH、DNS、NFS、PXE)

前言

本篇博客将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

  1. discover:客户端广播寻找dhcp服务端,若有多个dhcp服务器,则第一个收到请求的服务器回给客户端信息,其他的包丢弃

  2. offer:dhcp服务器广播回给客户端ip地址

  3. request:客户端广播发给dhcp服务端,请求使用ip地址

  4. ack:dhcp服务器广播回给客户端,这个ip可用,并且包含租期信息等

有多台DHCP服务器时,谁先发给我就用谁的

客户机发给服务器广播

服务器发offer给客户机有单播有广播 微软的是广播,思科华为的是单播

凡是看到微软的四个广播,凡是看到思科华为的两个广播两个单播

1.2 端口

服务端 udp 67

客户端 udp 68

1.3 配置过程

1.安装yum install dhcp -y
2.网卡模式调为仅主机模式
3.将配置文件/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example    复制到 /etc/dhcp/dhcpd.conf
4.修改配置文件
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 	//启动服务

如果启动失败,去查看日志

  1. /var/log/messages

  2. journalctl -u named

#DNS配置过程

1.yum install -y bind bind-utils
#安装软件
2.systemctl stop firewalld.service
#关闭防火墙
3.setenforce 0
#关闭selinux
4.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      master
master  A       192.168.109.100
www     A       192.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 配置过程

#关闭防火墙和selinux
1.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 rpcbind
2.systemctl start nfs
3.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 配置过程

  1. 安装启动tftp
  2. 安装启动dhcp
  3. 安装syslinux 目的是获取pxelinux.0(pxe引导程序文件)
  4. pxelinux.0,内核文件vmlinuz,初始化镜像文件 initrd.img 复制到tftp的根目录 /var/lib/tftpboot
  5. 安装vsftpd,根目录/var/ftp 在这里创建一个空目录,把光盘挂载到这个空目录
  6. 准备启动菜单文件 /var/lib/tftpboot/pxelinux.cfg/default
  7. 准备kickstart,自动应答文件

注:pxe客户端内核要求至少2G

请添加图片描述

6.2 详细博客

https://blog.csdn.net/qq_42327944/article/details/123687319?spm=1001.2014.3001.5501

总结

以上是Linux网络常用服务的主要知识点汇总,可当复习用

猜你喜欢

转载自blog.csdn.net/qq_42327944/article/details/124004083