第十三天
添加永久生效iptables命令
[root@localhost ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT --- 写iptables命令
[root@localhost ~]# iptables-save >> /etc/sysconfig/iptables -- 将命令添加到iptables的配置文件内
可以用vim方式直接编写命令
[root@localhost ~]# vim /etc/sysconfig/iptables
写完后要重启服务才会配置生效
[root@localhost ~]# iptables -F --- 清空iptables缓存表文件
[root@localhost ~]# iptables-restore < /etc/sysconfig/iptables --- 读取配置文件里的命令,临时生效
[root@localhost ~]# iptables -P INPUT DROP --- 更改默认规则只能为INPUT 或者 DROP ,临时生效
[root@localhost ~]# iptables-save >> /etc/sysconfig/iptables --- 永久生效
将本机的端口转发到其他机器
#iptables -t nat -A PREROUTING -d 192.168.0.100 -p tcp --dport 8000 -j DNAT --to-destination 192.168.10.111:80
将访问本地的22端口的连接转发到本地的4444端口:
#iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-ports 4444
允许10.0.0.10访问本机的20-22、21、80、443
[root@localhost ~]# iptables -t filter -I INPUT -s 10.0.0.10 -p tcp -m multiport --dport 20:22,80,443 -j ACCEPT
firewalld
[root@localhost ~]# systemctl restart firewalld.service
[root@localhost ~]# firewall-cmd --get-default-zone -- 查看默认区域
public
[root@localhost ~]# firewall-cmd --set-default-zone -- 修改默认区域
[root@localhost ~]# firewall-cmd --reload -- 更改后需要重载
[root@localhost ~] # firewall-cmd --version # 查看版本[root@localhost ~] # firewall-cmd --help # 查看帮助[root@localhost ~] # firewall-cmd --state # 显示状态[root@localhost ~] # firewall-cmd --get-services # 查看命令支持的服务[root@localhost ~] # firewall-cmd --list-all # 查看所有的规则[root@localhost ~] #firewall-cmd --panic-on # 启用紧急模式,所有的规则出入都拒绝[root@localhost ~] #firewall-cmd --panic-off # 关闭紧急模式[root@localhost ~] #firewall-cmd --query-panic # 查询紧急模式状态[root@localhost ~] #firewall-cmd --get-default-zone # 查看当前区域[root@localhost ~] #firewall-cmd --get-zones # 查看所有支持的区域[root@localhost ~] #firewall-cmd --set-default-zone=trusted # 设置 trusted 区域为当前区域[root@localhost ~] #firewall-cmd --get-zone-of-interface=eno16777736 # 根据接口查询区域[root@localhost ~] #firewall-cmd --permanent --add-service= 服务名[root@localhost ~] #firewall-cmd --reload # 重载查看才有该服务
[root@localhost ~]# firewall-cmd -- ---按两下tab,列出常用的100个命令
Display all 100 possibilities? (y or n)
[root@localhost ~] # firewall-cmd --add-port=80/tcp或者 [root@localhost ~] # firewall-cmd --add-service=http (临时生效,重启失效)[root@localhost ~] #firewall-cmd --permanent --add-service=ssh # 先添加服务,永久生效 ---添加后要重载(reload)[root@localhost ~] # firewall-cmd --reload # 重载之后当前会话不会断开,新连接的被拒绝[root@localhost ~] #firewall-cmd --get-zone-of-interface=ens160 # 根据网卡查询区域
添加富规则
[root@localhost ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 port port=8888 protocol=tcp source address=192.168.10.0/24 destination adress=192.168.10.129 accept'
信任ipv4,信任端口为8888,协议tcp,源ip10网段,目标ip192.168.10.129
转发
[root@localhost ~]# firewall-cmd --add-forward-port port=80:protocol=tcp:toport=8080 --- 将80端口转发到8080端口
用富规则写
[root@localhost ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 forward-port port=80 protocol=tcp to-port=8080'