首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为多个防火墙规则分组动态IP块

问为多个防火墙规则分组动态IP块
EN

Unix & Linux用户
提问于 2016-12-13 11:10:51
回答 2查看 190关注 0票数 0

我在一个动态IP上,它是由ISP的一组IP块定义的。我想打开ssh、ftp、MySql等等,以便打开这组块。我不想为每条规则指定所有条目。是否有方法将所有允许的地址设置为一个组,然后将其分配给我想要访问的每个端口一次?

EN

回答 2

Unix & Linux用户

发布于 2016-12-13 11:33:07

您可以使用IPs创建一组ipset,然后可以添加对它的任何限制。

例如,要创建一个ipset:

代码语言:javascript
复制
ipset -N myset hash:ip,port

要将ip和port添加到集合中,请执行以下操作:

代码语言:javascript
复制
ipset add myset x.x.x.0/24,80-82 
ipset add myset x.x.x.x,udp:53 
ipset add myset y.y.y.y,vrrp:0 

然后,要在此集上创建规则,可以将iptables用于防火墙:

代码语言:javascript
复制
iptables -A INPUT -m set --set myset dst -j ACCEPT

上面的ipset命令创建了一个具有两个地址(x.x.x.x和y.y.y.y)的新集合(iphash类型的myset)。

然后,iptables命令使用匹配规范-m set --set myset dst引用该集,这意味着“匹配目标头部匹配(即包含在)名为myset的集合中的数据包”。

标志dst的意思是在“目标”上匹配。标志src将匹配在“源”,标志src,dst将匹配在源和目的地。

票数 0
EN

Unix & Linux用户

发布于 2016-12-13 11:39:14

您提到的是CentOS,而不是一个特定的版本。

CentOS 6

在CentOS 6中,防火墙在/etc/sysconfig/iptables中可能如下所示:

代码语言:javascript
复制
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:INTERNAL - [0:0]
:INTERNAL_allow - [0:0]
:LOGGING - [0:0]

#LOGGING Chain
-A LOGGING -p tcp -m limit --limit 2/min -j LOG --log-prefix "iptables DROP: " --log-level 4

#INPUT Chain
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INTERNAL
-A INPUT -j LOGGING
-A INPUT -j REJECT --reject-with icmp-host-prohibited

#INTERNAL Chain to define networks (only networks that match continue to INTERNAL_allow)
-A INTERNAL -s 192.168.10.0/24 -g INTERNAL_allow
-A INTERNAL -s 10.9.8.0/24 -g INTERNAL_allow

#INTERNAL_allow Chain to define allowed ports on those networks
-A INTERNAL_allow -p icmp -j ACCEPT
#open a single port using tcp module
-A INTERNAL_allow -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#open multiple ports using multiport module
-A INTERNAL_allow -p tcp -m state --state NEW -m multiport --dport 21,3306 -j ACCEPT

另请参阅:

  • man iptables用于multiport和tcp模块以及-g参数。

CentOS 7

你也许可以在火柴盒中使用区域。我在这方面不是很有经验。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/330047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档