当前位置 主页 > 服务器问题 > Linux/apache问题 >

    详述Linux中Firewalld高级配置的使用

    栏目:Linux/apache问题 时间:2019-10-26 09:02

    IP伪装与端口转发

    Firewalld支持两种类型的网络地址转换

    IP地址伪装(masquerade)

    可以实现局域网多个地址共享单一公网地址上网 IP地址伪装仅支持IPv4,不支持IPv6 默认external区域启用地址伪装

    端口转发(Forward-port)

    也称为目的地址转换或端口映射 通过端口转发,指定IP地址及端口的流量将被转发到相同计算机上的不同端口,或者转发到不同计算机上的端口

    地址伪装配置

    为指定区域增加地址伪装功能

    firewall-cmd [--permanent] [--zone= zone] --add-masquerade [--timeout seconds]
     //--timeout=seconds:在一段时间后自动删除该功能

    为指定区域删除地址伪装功能

    firewall-cmd [--permanent] [--zone= zone] --remove-masquerade

    查询指定区域是否开启地址伪装功能

    firewall-cmd [--permanent] [--zone=zone] --query-masquerade

    端口转发配置

    列出端口转发配置

    firewall-cmd [--permanent] [--zone=zone] --list-forward-ports

    添加端口转发规则

    firewall-cmd [--permanent] [--zone=zone] --add-forward-port=port=portid[-portid]:proto=protocol[:toport-portid[-portid]][:toaddr-address[/mask]][--timeout=seconds]

    删除端口转发规则

    firewall-cmd [--permanent] [--zone=zone] --remove-forward-port=port=portid[-portid]:proto=protocol[:toport=portid[-portid]][:toaddr=address[/mask]]

    查询端口转发规则

    firewall-cmd [--permanent] [--zone=zone] --query-forward-port-port-portid[-portid]:proto=protocol[:toport-portid[-portid]][:toaddr=address[/mask]]

    Firewalld直接规则

    直接规则(direct interface)

    允许管理员手动编写的iptables、ip6tables和ebtables 规则插入到Firewalld管理的区域中 通过firewall-cmd命令中的--direct选项实现 除显示插入方式之外,优先匹配直接规则

    自定义规则链

    Firewalld自动为配置”了 规则的区域创建自定义规则链

    IN 区域名 deny: 存放拒绝语句,优先于"IN 区域名 _allow" 的规则 IN 区域名 allow: 存放允许语句

    允许TCP/9000端口的入站流量

    irewall-cmd --direct --add-rule ipv4 filter IN work_ allow 0 -p tcp --dport 9000 j ACCEPT
    IN work_ allow: 匹配work区域的规则链 0:代表规则优先级最高,放置在规则最前面 可以增加 --permanent选项表示永久配置

    查询所有的直接规则

    firewall-cmd --direct --get-all-rules
    ipv4 filter IN_ work _allow 0 -p tcp --dport 9000 -j ACCEPT

    可以增加 --permanent选项表示查看永久配置

    Firewalld富语言规则

    富语言(rich language)

    表达性配置语言,无需了解iptables语法

    用于表达基本的允许/拒绝规则、配置记录(面向syslog和auditd)、端口转发、伪装和速率限制

    rule [family="<rule family>"]
     [ source address="<address>" [invert "True"] ]
     [ destination address="<address>" [invert="True"] ]
     [ <element> ]
     [ log [prefix="<prefix text>"] [level="<log level>"] [limit value="rate/duration"] ]
     [ audit ]
     [ acceptlrejectldrop ]