- 使用 netstat -ntulp 查询程序端口占用
- -n 不解析域名,直接显示ip
- -tu 只列出 tcp/udp协议的进程
- -l 只列出listening 状态的进程
- -p 显示 pid和program name
- linux 防火墙放行指定的 端口
- firewall-cmd --zone=public --add-port=6379/tcp --permanent 开发端口6379
- --zone=public 共有访问权限
- -add-port=6379/tcp 指定端口和 协议类型
- --permanent 持久化的有效(重启不丢失)
- firewall-cmd --reload 重新加载修改的配置
- firewall-cmd --complete-reload 重新加载修改的配置(会断开连接)
- 查看开发的端口
- firewall-cmd --list-ports
添加多个端口(卡通8000-9000的端口)
firewall-cmd --permanent --zone=public --add-port=8000-9000/tcp
- 删除端口(永久删除端口3006)
- firewall-cmd --permanent --zone=public --remove-port=3306/tcp
- 对某个ip开放/禁止
- firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.100.1" port protocol="tcp" port="3306" accept" #允许指定ip访问指定协议的指定端口
- firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.100.1" port protocol="tcp" port="6379" reject" #禁止指定ip访问指定协议的指定端口
- rule family="ipv4" source address="192.168.100.1" port protocol="tcp" port="3306" accept 是一条规则
- 删除某个ip
- firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.100.1" port protocol="tcp" port="3306" accept"
- --remove-rich-rule后面的内容需要和--add-rich-rule后面的完全一样
IP段的访问(192.168.0.0/16 表示 前面16位是网络号,后面的16位是主机号,192.168是网络号,这个网络下面的都允许访问)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"
- 端口转发
- firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将80端口的流量转发至8080
- firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.100.1 # 将80端口的流量转发至192.168.100.1
- firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.100.1:toport=8080 #将80端口的流量转发至192.168.100.1的8080端口
- 查询zone列表(zone类似于防火墙的家庭网络,区域网络,公用网络,通过切换网络环境切换不同的拦截规则,或者说是一堆拦截规则的集合名字),默认是public
- firewall-cmd --list-all-zones #查询所有zone,并且或列出里面的配置
- firewall-cmd --get-zones
- 设置指定区域为默认zone
- firewall-cmd --set-default-zone=home
- firewall-cmd --get-default-zone #查询默认的zone
- zone和网卡的
- firewall-cmd --get-zone-of-interface=ens33 #查询某个网卡所在的zone
- firewall-cmd --zone=public --change-interface=ens33 #把某个网卡设置到指定zone
- firewall-cmd --zone=public --add-interface=ens33 #给当前zone添加指定网卡(如果网卡已经存在于背的zone 会报错,这时候用--change-interface)
- firewall-cmd --get-active-zones #查询当前zone下面有哪些网卡
- zone和网络规则
- firewall-cmd --zone=public --list-all #查看指定zone下面的规则
- firewall-cmd --get-service #查询所有zone下面的服务
- firewall-cmd --list-service #查询当前zone下面的服务
- 防火墙配置文件位置
- more /etc/firewalld/zones/public.xml #这个文件可以手动修改