作者回复: 先看ping ,网络链路要通的,另外用nc或者telnet 看看对应端口(或者说提供服务的进程)是不是打开了,用netstat 看一下监听的端口是不是被修改等等,不一定都是防火墙的问题的
作者回复: 能够使用toport关键字,但是一般复杂的功能工作中更多会使用iptables 来做,更灵活 例子 firewall-cmd --add-forward-port=port=8022:proto=tcp:toport=22:toaddr=192.168.0.100 这是一条转发规则,把所有请求到8022 端口的数据包转发给192.168.0.100的22端口
作者回复: 不可以,firewalld的底层是iptables 没办法做到这么灵活的配置,可以考虑使用iptables直接配置,在规则上优先禁止10.0.0.1,后面再允许10.0.0.0/24网段,如: iptables -A INPUT -h 10.0.0.1 -p tcp --dport 80 -j DROP iptables -A INPUT -h 10.0.0.0/24 -p tcp --dport 80 -j ACCEPT
作者回复: firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp accept'
作者回复: iptables -I INPUT -p tcp --dport 1234 -j ACCEPT 开放指定端口就可以,因为网络防火墙是不关注上层业务的,所以从tcp 1234端口允许进入就可以,应用层做用户密码的认证
作者回复: default zone 是指默认区域,安装完成firewalld后, 会将public作为默认区域进行规则匹配。 active zone 是活动的区域,即定义多个区域后,某些区域可以禁用,或称作不匹配 为了不必重复配置最基本的过滤规则,一般会使用public作为默认区域,为了让这个区域生效,需要将它指定为active状态 在此基础上再配置自定义的规则,更详细可以参考: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls