目录
前言
一、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 | 客户端请求配置确认,或者续借租期 |
面试需要说四个包: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 -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服务器 }
二、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
四、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 #关闭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 #重启服务
五、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
六、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
总结
以上是Linux网络常用服务的主要知识点汇总,可当复习用