协议的分类:
应用层协议:FTP HTTP SMTP Telnet DNS等
传输层协议:TCP UDP等
网络层协议:IP ICMP ARP等
数据链层协议:PPP协议等
物理层协议:USB RS232等
常见端口:/etc/services 端口的配置文件
20/21 ftp服务 文件共享
22 ssh服务 安全远程管理
23 telnet服务 不安全远程管理
25 smtp简单邮件传输协议 发信
465 smtp(ssl) 发信
110 pop3邮局协议 收信
143 imap4 收信
993 imap4(ssl) 收信
80 www服务(http) 网页访问
443 www服务(https) 加密网页访问
3306 mysql端口 数据库连接端口
53 DNS端口 域名解析端口
CentOS6/7 的防火墙 ,内核版本默认数据库
防火墙 iptables firewalld
内核版本 2.6.x-x 3.10.x-x
默认数据库 MySQL MariaDB
主机名的配置文件:C6 /etc/sysconfig/network
C7 /etc/heostname 可以使用命令hostnamectl set-hostname www.kernel.com
时间同步,修改时区,修改语言
C6 C7
时间同步 ntpdate 0.centos.ntp.org chronyc sources
修改时区 /etc/sysconfig/clock timedatectl set-timezone Asia/Shanghai
修改语言 /etc/sysconfig/i18n localctl set-locale LANG=zh.CN.UTF-8
操作行为 | CentOS 6.x | CentOS 7.x |
---|---|---|
启动指定服务 | service 服务名 start | systemctl start 服务名 |
关闭指定服务 | service 服务名 stop | systemctl stop 服务名 |
重启指定服务 | service 服务名 restart | systemctl restart 服务名 |
查看指定服务状态 | service 服务名 status | systemctl status 服务名 |
查看所有服务状态 | service --status-all | systemctl list-units |
设置服务自启动 | chkconfig 服务名 on | systemctl enable 服务名 |
设置服务不自启动 | chkconfig 服务名 off | systemctl disable 服务名 |
查看所有服务自启动状态 | chkconfig --list | systemctl list-unit-files |
网关的配置 route -n 查看系统中的路由表信息
临时:
添加:route add dafault gw ip
删除:route add dafault gw ip
永久:/etc/sysconfig/network-scripts/ifcfg-eth0
DNS配置 :配置文件
局部:/etc/sysconfig/network-scripts/ifcfg-eth0
DNS=IP
全局:/etc/resolv.conf
nameserver ip
测试命令:nslookup
nslookup www.kernel.com
主机映射文件:/etc/hosts
网络常用命令
netstat: 查看系统的网络连接状态,路由信息,接口等
-a 显示所有连接活动
-n 以数字形式显示
-t 查看TCP协议相关信息
-u 查看UDP协议相关信息
-p 显示PID和进程
-l 监听
网络节点测试命令:
traceroute:测试从当前主机到目的主机之间经过的网络节点数,用于追踪数据包在网络上传输时的全部路径,它默认发送的数据包大小是40字节,默认使用ICMP协议
常用选项:
-p 使用UDP端口进行测试,默认端口为33434
-q 3 指定测试时发送的数据包个数(即测试次数)
-n 以IP的方式进行连接测试,避开DNS的解析
注意:该命令在使用NAT模式时无法实现效果,请切换桥接模式(官方回复)
ping 网络连通测试命令
-i 指定间隔时间
-c 指定ping的次数
-s 指定数据包的大小
arp 地址解析命令
-a 查看所有
-d ip地址,删除某条ARP记录
nmap 网络探测扫描命令
-sP 探测某网段内哪些主机是存活的
-sT 探测某主机上开启了哪些TCP端口
ssh安全远程管理 ssh是Secure Shell的缩写
ssh是建立在应用层的安全远程管理协议,采用密文的形式在网络中传输数据,安全性更高
ssh的登录验证模式有两种:账户密码和密钥对
账户密码验证模式:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vzYtpMBg-1607269660968)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\1606265525535.png)]
1、客户端向服务器端发出连接请求
2、服务器端收到到后会给客户端发送公钥
3、客户端用服务器端的公钥将密码信息加密发送给服务器端
4、服务器端收到信息后收到信息后用密钥解密并验证信息,信息合法则建立连接通信
密钥对验证模式:
1、客户端先创建好密钥对,并将自己的公钥发送给服务器端
2、客户端需要连接服务器端时,会发送自己的公钥端口和ip,同时接收服务器端的公钥
3、服务器端拿着发过来来的公钥和自己家目录.ssh/authorized_keys里的公钥对比,如果不一致直接拒绝,如果一致会会用客户端的公钥加密发送challenge给客户端
4、客户端收到加密的challenge后,用自己的私钥解密,并用服务器端的公钥加密并将challenge信息发送给服务器端,
5、服务器端收到challenge信息,并用自己的私钥解密,验证是否和自己发送的challenge信息一致,如果一致验证成功建立连接
密钥对验证的优点
1.减少了密码的暴露
2实现双向加密,数据更安全
3.可以实现免密码非交互身份验证
ssh配置服务
临时关闭防护功能:
iptables -F #清空防火墙规则
setenforce 0 #临时关闭SELINUX
永久关闭防护功能:
chkconfig iptables off
sed -i ‘7s/enforcing/disabled/’ /etc/selinux/config
永久关闭这两条命令重启才生效
用户密码验证
Linux 主机之间的ssh连接
格式:ssh 用户名@ip地址
ssh root@192.168.88.20
windows使用第三方工具远程连接linux
格式:ssh root@192.168.88.20
密钥对的验证 密钥的目录和文件的权限分别是700和600
Linux主机之间密钥对的登陆验证:
1、客户端生成密钥对文件
ssh-keygen -t rsa -b 2048
-t 指定加密类型(rsa/dsa等)
-b 指定密钥对加密长度
询问1:执行过程中会询问保存位置,一般默认保存在当前用户家目录下的.ssh/目录下
询问2:是否对密钥文件加密
加密,调用时需要输入密码
不加密,直接调用登录,免密登录
2、将公钥文件上传至服务器端
ssh-copy-id 用户名@服务器ip地址
-i 指定上传的公钥文件位置和名字 #该用户名和要用来登录服务器的用户名一致
服务器端会在用户名的家目录下自动生成/root/.ssh/authorized_keys文件,并把客户端的公钥存进来
3、客户端尝试登陆服务器
ssh 用户名@服务器ip地址 #密钥对验证优先级大于账户密码验证
Windows连接Linux的密钥的登陆验证
1、利用第三方连接工具生成密钥对,例如xshall
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Gdd8ksE-1607269660970)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\1606204068328.png)]
2、将公钥导入Linux主机的指定用户家目录下的指定公钥的配置文件中,用哪个用户登录,就放在哪个用户的家目录下
在root家目录下,找到 .ssh 目录,然后在里面创建 authorized_keys 文件,并且将公钥写入进去
**#**并且要注意.ssh目录的权限是:700;root和普通用户的.ssh目录 700 和authorized_keys 文件是600权限即可。
3、使用Windows尝试登陆指定用户
禁止密码登录: 选项 PasswordAuthentication no
注意:ssh的配置文件中,并不是注释掉的就是不生效的,有些是默认生效,需要修改时一定要取消注释再修改
禁止使用root远程登陆:选项 PermitRootLogin no
修改默认端口, :选项:Port 59527
ssh -p 端口 用户名@服务器ip
限制ssh监听ip ListenAddress 192.168.88.100
以上的配置文件都是/etc/ssh/sshd_config
ssh服务相关命令
scp:安全的远程文件复制命令 scp是secure copy的缩写
格式:scp 本地文件 用户名@服务器ip:目录
scp /root/kernel.txt root@192.168.88.20:/tmp
-p 端口 #如果默认端口不是22,需要此格式指定端口
sftp:安全的文件传输协议,sftp是Secure FileTransferProtocol的缩写
格式:sftp 用户名@服务器ip
-oPort=端口 #若默认端口不是22,需要指定端口号
交互命令
help:查看在交互模式下支持哪些命令
pwd/lpwd:pwd是查看服务器所在路径;lpwd是查看客户端所在路径
ls/lls:ls是查看服务器当前目录下的文件列表;lls是查看客户机当前所在路径的所有文件列表
put:将客户机中的指定文件上传到服务器端
get:将服务器端的指定文件下载到客户机的当前所在目录
rm:删除掉服务器端的指定文件
的文件传输协议,sftp是Secure FileTransferProtocol的缩写
格式:sftp 用户名@服务器ip
-oPort=端口 #若默认端口不是22,需要指定端口号
交互命令
help:查看在交互模式下支持哪些命令
pwd/lpwd:pwd是查看服务器所在路径;lpwd是查看客户端所在路径
ls/lls:ls是查看服务器当前目录下的文件列表;lls是查看客户机当前所在路径的所有文件列表
put:将客户机中的指定文件上传到服务器端
get:将服务器端的指定文件下载到客户机的当前所在目录
rm:删除掉服务器端的指定文件
quit:退出sftp的交互模式,断开和服务器之间的连接交互命令: