码迷,mamicode.com
首页 > 编程语言 > 详细

POJ - 2352 Stars 树状数组 略坑

时间:2020-08-07 12:36:18      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:turn   一点   int()   tor   class   nbsp   sort   style   opera   

导读

firewalld作为iptables的前端控制器,底层使用内核的netfilter框架,用于实现持久的网络流量规则。firewalld的较大区别在于:
1.firewalld使用区域和服务而不像iptables使用链式规则。
2.firewalld可动态管理规则集,不会破坏现有会话和连接。
3.firewalld默认拒绝流量,设置规则集后才可放行。

CentOS7和Fedora 20+默认包含了firewalld组件,可使用systemd管理单元进行控制。

管理firewalld

  1. 启动服务并加入开机启动项
    sudo systemctl enable --now firewalld.service
  2. 查看服务
    sudo systemctl status firewalld.service
    sudo systemctl cat firewalld.service

区域

“区域”是针对给定位置或场景(例如家庭、公共、受信任等)可能具有的各种信任级别的预构建规则集。不同的区域允许不同的网络服务和入站流量类型,而拒绝其他任何流量。 首次启用 FirewallD 后,public 将是默认区域。区域也可以用于不同的网络接口。例如,要分离内部网络和互联网的接口,你可以在 internal 区域上允许 DHCP,但在 external区域仅允许 HTTP 和 SSH。未明确设置为特定区域的任何接口将添加到默认区域。

1.查看默认区域

sudo firewall-cmd --get-default-zone

2.修改默认区域

sudo firewall-cmd --set-default-zone=internal

3.查看网络接口使用的区域

sudo firewall-cmd --get-active-zones

4.查看特定区域的所有配置

sudo firewall-cmd --zone=public --list-all
#查看所有区域的配置
sudo firewall-cmd  --list-all

5.初始化区域

阻塞区域(block):任何传入的网络数据包都将被阻止;
工作区域(work):相信网络上的其他计算机,不会损害你的计算机;
家庭区域(home):相信网络上的其他计算机,不会损害你的计算机;
公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接;
隔离区域(DMZ):也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接;
信任区域(trueted):所有网络连接都可以接受;
丢弃区域(drop):任何传入的网络连接都被拒绝;
内部区域(internal):信任网络上的其他计算机,不会损害你的计算机。只选择接受传入的网络连接;
外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。只选择接受传入的网络连接;
firewalld的默认区域是public。

服务

1.查看默认的可用服务规则

sudo firewall-cmd --get-services

2.启用或禁用HTTP服务

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --remove-service=http --permanent

端口

1.查看默认的可用端口规则

sudo firewalld-cmd --zone-public --list-ports

2启用或禁用8080端口的TCP流量

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent

转发

1.查看转发状态

sudo firewall-cmd --zone=public --query-masquerade

2.激活转发状态

sudo firewall-cmd --zone=public --add-masquerade

3.添加转发规则

sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=123.456.78.9

规则集

例如,以下是如何使用 FirewallD 为你的服务器配置基本规则(如果您正在运行 web 服务器)。

1、将 eth0的默认区域设置为 dmz。 在所提供的默认区域中,dmz(非军事区)是最适合于这个程序的,因为它只允许 SSH 和 ICMP。

sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0

2、把 HTTP 和 HTTPS 添加永久的服务规则到 dmz 区域中:

sudo firewall-cmd --zone=dmz --add-service=http --permanent
sudo firewall-cmd --zone=dmz --add-service=https --permanent

3、 重新加载 FirewallD 让规则立即生效:

sudo firewall-cmd --reload

如果你运行 firewall-cmd --zone=dmz --list-all, 会有下面的输出:

dmz (default)
  interfaces: eth0
  sources:
  services: http https ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

这告诉我们, dmz区域是我们的默认区域,它被用于 eth0 接口中所有网络的源地址和端口。 允许传入 HTTP(端口 80)、HTTPS(端口 443)和 SSH(端口 22)的流量,并且由于没有 IP 版本控制的限制,这些适用于 IPv4 和 IPv6。 不允许IP 伪装以及端口转发。 我们没有 ICMP 块,所以 ICMP 流量是完全允许的。没有丰富Rich规则,允许所有出站流量。

富规则

1.允许来自主机 192.168.0.14 的所有 IPv4 流量。

sudo firewall-cmd --zone=public --add-rich-rule ‘rule family="ipv4" source address=192.168.0.14 accept‘

2.拒绝来自主机 192.168.1.10 到 22 端口的 IPv4 的 TCP 流量。

sudo firewall-cmd --zone=public --add-rich-rule ‘rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject‘

3.允许来自主机 10.1.0.3 到 80 端口的 IPv4 的 TCP 流量,并将流量转发到 6532 端口上。 

sudo firewall-cmd --zone=public --add-rich-rule ‘rule family=ipv4 source address=10.1.0.3 forward-port port=80 protocol=tcp to-port=6532‘

4.将主机 172.31.4.2 上 80 端口的 IPv4 流量转发到 8080 端口(需要在区域上激活 masquerade)。

sudo firewall-cmd --zone=public --add-rich-rule ‘rule family=ipv4 forward-port port=80 protocol=tcp to-port=8080 to-addr=172.31.4.2‘

5.列出你目前的丰富规则:

sudo firewall-cmd --list-rich-rules

6.删除富规则

# 只需将--add-rich-rule替换为--remove-rich-rule
sudo firewall-cmd --zone=public --remove-rich-rule ‘rule family=ipv4 forward-port port=80 protocol=tcp to-port=8080 to-addr=172.31.4.2‘

部分引用:https://linux.cn/article-8098-1.html

POJ - 2352 Stars 树状数组 略坑

标签:turn   一点   int()   tor   class   nbsp   sort   style   opera   

原文地址:https://www.cnblogs.com/hznumqf/p/13451519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!