linux部分
iptables -L 列出当前防火墙策略
iptables -F 清空防火墙策略
iptables -P INPUT DROP 默认设置丢弃进来的流量包(-p指默认策略,该命令设置后不可ping通,无法上网)
iptables -I INPUT -p icmp -j ACCEPT -I指在最前面插入该规则,-p协议类型为icmp,-j方式为接受(INPUT/OUTPUT是指对某条链表进行该操作,该命令即是针对INPUT链表进行的操作)
iptables -D INPUT 1 删掉上一条在最前面的插入的命令
iptables -P INPUT ACCEPT 把上面DROP命令改为ACCEPT
iptables -D INPUT 1 删除INPUT链中第一条规则
iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT 设置源目标-s,-dport端口,设置源目标可以访问22端口(即可以使用ssh登录,我试了很多次都无法连接,原来是ssh服务忘了开。默认不能使用root远程登录,如果希望远程用户使用root登录的话,编辑/etc/ssh/sshd_config找到RootLogin那行,把后面的值改为yes)
iptables -A INPUT -p tcp --dport 22 -j REJECT 最末尾添加该规则,拒绝所有访问22端口的请求,因为是在末尾的,所以优先级比上面一条低
service iptables save 永久保存
centos7部分
(想改用iptablse的话,还需要安装iptables-services)
firewall-cmd --get-default-zone 获取当前区域
firewall-cmd --get-zone-of-interface=ens33 获取网卡ens33区域
firewall-cmd --permanent --zone=external --change-interface=ens33 永久修改区域为external
firewall-cmd --get--zone-of-interface=ens33 获取网卡ens33区域
firewall-cmd --reload 重新载入firewall
firewall-cmd --set-default-zone=public
firewall-cmd --panic-on 切断一切网络连接
firewall-cmd --panic-off 恢复网络连接
firewall-cmd --zone=public --query-service=ssh 在public区域查询ssh是否被允许
firewall-cmd --zone=public --add-service=https 增加https服务 --remove-service=https 删除https服务
firewall-cmd --zone=public --add-port=8080-8081/tcp 允许放行8080和8081端口流量
firewall-cmd --zone=public --list-ports 列出端口
firewall-cmd --permanent --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10 端口转发:需要转发的端口为888,协议类型tcp,转发到某ip
服务的访问控制列表:
vim /etc/hosts.dny 在里面添加一行sshd:* 保存退出,dny是拒绝的意思,所以所有访问sshd服务的请求都会被会被拒绝
vm /etc/hosts.allow 在里面添加一行sshd:192.168.1. 保存退出,192.168.1.*都可以访问sshd服务
ssh服务
安全秘密验证登录(A机免密码登录B机)
A机: ssh-keygen 生成密钥对
ssh-copy-id B机ip 传送公钥文件到B机
B机: 配置ssh文件 vim /etc/ssh/sshd_config修改PasswordAuthentication 值为no
重启ssh服务器,A机即可无需密码口令也可以直接验证登录成功
scp远程传输命令:
scp /root/readme.txt root@192.168.1.66:/home 以root登录远程ip的方式把本地的readme.txt文件传送到66的主机home目录下 (需要两个都是linux系统)
screen不间断会话服务:
在A机: screen -S bptest 创建一个会话服务,-S是指创建该会话,后面的是会话的名字
在B机: ssh A的ip 因为screen是用ssh连接的,进入后输入密码
screen -ls 列出会话项目
screen -x bptest 执行bptest会话,-x指执行,现在两个屏幕开始同步,退出会话输入exit