linux firewalld

  • Post author:
  • Post category:linux




设置服务端口

设置httpd服务端口:

semanage port -a -t http_port_t -p tcp 6666  ##添加服务端口

在这里插入图片描述

semanage port -l | grep http
vim /etc/httpd/conf/httpd.conf

在这里插入图片描述

systemctl restart httpd
netstat -antlupe | grep http

在这里插入图片描述

semanage port -d -t http_port_t -p tcp 6666   ##删除服务端口

在这里插入图片描述



打开火墙服务

iptables:
yum install iptable-services.x86_64
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld      ##封锁firewalld服务
systemctl start iptables
systemctl enable iptables
iptables -nL            ##显示火墙策略

在这里插入图片描述

firewalld:
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl unmask firewalld
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --list-all

在这里插入图片描述



firewalld 域

火墙命令:

firewall-cmd --state   ##查看火墙运行状态

在这里插入图片描述

firewall-cmd --get-active-zones ##查看当前活跃的域

在这里插入图片描述

firewall-cmd --get-default-zone  ##查看默认域

在这里插入图片描述

firewall-cmd --get-zones	##查看所有域

在这里插入图片描述

firewall-cmd --zone=public --list-all  ##查看public域提供的服务

在这里插入图片描述

firewall-cmd --get-services  	##查看火墙管理的服务

在这里插入图片描述

firewall-cmd --list-all-zones	##查看各种域的管理范围
firewall-cmd --set-default-zone=dmz	##设置火墙的域

在这里插入图片描述

firewall-cmd --zone=trusted --add-source=172.25.254.80  ##80使用trusted域
firewall-cmd --get-active-zones

在这里插入图片描述

firewall-cmd --zone=public --add-interface=eth1  ##eth1使用public域
firewall-cmd --zone=public --remove-interface=eth1   

在这里插入图片描述

在这里插入图片描述

firewall-cmd --add-service=dns		##临时添加服务dns
firewall-cmd --remove-service=ssh     ##临时删除ssh
firewall-cmd --remove-service=ssh --permanent  ##永久删除ssh

在这里插入图片描述

firewall-cmd --reload     ##重启服务
firewall-cmd --complete-reload    ##重启服务 中断当前连接服务

在这里插入图片描述

在这里插入图片描述



设置三表五列

实现只有60可使用 ssh

         input output  prerouting #目的地址解析  postrouting #源地址解析 forward
filter     1     1                                                         1 

net         1    1         1                       1

mangle     1      1        1                       1                       1
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.60 -j ACCEPT        ##60可以使用tcp
firewall-cmd --direct --get-all-rules    ##查看设置的规则

在这里插入图片描述

firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.60 -j ACCEPT      ##删除规则

在这里插入图片描述

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 ! -s 172.25.254.76 -j ACCEPT     ##只有76不能连

在这里插入图片描述

在这里插入图片描述



当172.25.254.60使用ssh连接172.25.254.160时自动连接1.1.1.80
firewall-cmd --permanent --zone=public --add-forward-port=port=22:proto=tcp:toport=22:toaddr=1.1.1.80
firewall-cmd --reload

在这里插入图片描述

在这里插入图片描述



iptable

iptable 
	-t	##指定表名称 
	-n	##不作解析
	-L	##列出指定表中的策略
	-A	##增加策略
	-p	##网络协议
	--dport ##端口
	-s	##数据来源
	-j	##动作
	ACCEPT	##允许
	REJECT  ##拒绝
	DROP	##丢弃
	-N	##增加链
	-E	##修改链名称
	-X	##删除链
	-D	##删除指定策略
	-I	##插入
	-R	##修改策略
	-P	##修改默认策略
iptables  -t filter -nL		#查看filter表中的策略

在这里插入图片描述

iptable  -F			#刷掉filter表中的所有策略,当没有用-t指定表名称时默认时filter

在这里插入图片描述

service iptables save		#保存当前策略

在这里插入图片描述

iptables -A INPUT -i lo -j ACCEPT	#允许lo

在这里插入图片描述

iptables -A INPUT -p tcp --dport 22 -j ACCEPT	##允许访问22端口

在这里插入图片描述

iptables -A INPUT -s 172.25.254.250 -j ACCEPT	##允许250主机访问本机所有端口

在这里插入图片描述

iptables -A INPUT -j REJECT 			##拒绝所有主机的数据来源

在这里插入图片描述

iptables -N redhat	##增加链redhat

在这里插入图片描述

在这里插入图片描述

iptables -E redhat westos	##改变链名称

在这里插入图片描述

在这里插入图片描述

iptables -X westos	##删除westos链

在这里插入图片描述

iptable -D INPUT 2	##删除INPUT链中的第二条策略

在这里插入图片描述

iptables -I INPUT  -p tcp --dport 80  -j REJECT	##插入策略到INPUT中的第一条

在这里插入图片描述

iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT	##修改第一条策略

在这里插入图片描述

iptable -P INPUT DROP		##把INPUT表中的默认策略改为drop

在这里插入图片描述

iptables -A INPUT -m state --state RELATED,ESTABLISHED  -j ACCEPT

在这里插入图片描述

iptables -A INPUT -i lo -m state --state NEW -j ACCEPT 
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -j REJECT 

在这里插入图片描述

在这里插入图片描述

sysctl -a | grep forward
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
使其他主机ssh连接eth0 172.25.254.160时自动连接1.1.1.80
iptables -t nat -A PREROUTING  -i eth0 -p tcp --dport 22-j DNAT --to-dest 1.1.1.80
使1.1.1.80可以连接172.25.254.60
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.160

在这里插入图片描述

在这里插入图片描述



版权声明:本文为zcx1203原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。