本篇博客将Linux网络服务常用的做一些简单整理(DHCP、FTP、ssh、DNS、NFS、PXE),起到知识疏导的作用,并不是详细的解析,如果要了解详解,请看相对应的博客
报文类型 | 含义 |
---|---|
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给客户机有单播有广播 微软的是广播,思科华为的是单播
凡是看到微软的四个广播,凡是看到思科华为的两个广播两个单播
服务端 udp 67
客户端 udp 68
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服务器
}
https://blog.csdn.net/qq_42327944/article/details/123539047?spm=1001.2014.3001.5502
文件传输协议
tcp 20 (传输数据) 21(建立控制连接,传输控制命令的)
主要命令:get(下 载) put(上传)
主动模式:服务器主动发起数据连接
被动模式:服务器被动发起数据连接
轻量级的文件传输协议
端口:udp 69
端口:tcp 22 (使用的ssh端口)
samba文件共享服务;scp(tcp 22 加密、压缩);Telnet(tcp 23 明文)
端口 tcp 22
ssh服务端:openssh服务
ssh客户端:xshell(公司不能直接用,有安全问题)、SecureCRT、putty、mobaXterm
ssh服务端配置文件:/etc/ssh/sshd_conf
ssh客户端配置文件:/etc/ssh/ssh_conf
#禁止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
ssh -p 指定端口号(默认22端口)
scp
sftp
一些系统级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
https://blog.csdn.net/qq_42327944/article/details/123725610?spm=1001.2014.3001.5502
把域名解析成IP地址,点到点的通信IP->IP
http://www.sina.com.cn/ (FQDN完整的合格域名)
http://主机名.子域.二级域.顶级域 根域/
tcp 53端口 连接DNS服务器
udp 53端口 解析DNS
正向解析 域名解析成IP
反向解析 IP解析成域名
软件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
#重启服务
https://blog.csdn.net/qq_42327944/article/details/123605866?spm=1001.2014.3001.5501
远程共享存储服务,实际上NFS不是存储设备,只是一个服务
存储设备:文件服务器(Linux服务器,硬盘,LVM,raid , NAS (企业级的专业存储设备))
再配合 NFS服务把存储空间发布出去,供客户端挂载使用
服务名 | 对应软件 | 端口号 |
---|---|---|
rpcbind(远程调用) | rpcbind | tcp111 |
nfs | nfs-utils | tcp2049 |
#关闭防火墙和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
https://blog.csdn.net/qq_42327944/article/details/123676040?spm=1001.2014.3001.5501
注:pxe客户端内核要求至少2G
https://blog.csdn.net/qq_42327944/article/details/123687319?spm=1001.2014.3001.5501
以上是Linux网络常用服务的主要知识点汇总,可当复习用