オペレーティングシステム6

オペレーティングシステム6

ISPのIPブロックセットによって定義された動的IPを使用しています。 ssh、ftp、MySqlを開き、そのチャンクを待ちたいです。各ルールに対してすべての項目を指定したくありません。許可されているすべてのアドレスをグループに設定し、アクセスしたい各ポートに割り当てる方法はありますか?

答え1

CentOSに言及しましたが、特定のバージョンは言及していません。

オペレーティングシステム6

CentOS 6では、ファイアウォールは次のとおりです/etc/sysconfig/iptables

*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

オペレーティングシステム7

ファイアウォールでゾーンを使用できます。私はこれについての経験はあまりありません。

答え2

一連のIPs目的を作成ipsetし、ここに制限を追加できます。

たとえば、次のように作成しますipset

ipset -N myset hash:ip,port

コレクションにip追加:port

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その後、そのセットのルールを作成したい場合は、ファイアウォールで使用できます。

iptables -A INPUT -m set --set myset dst -j ACCEPT

上記のコマンドは、ipset2つのアドレス(x.x.x.xおよび)を使用してy.y.y.y新しいセット(iphashタイプのmyset)を生成します。

その後、コマンドはiptables一致仕様を使用してセットを参照します-m set --set myset dst。これは、「ターゲットヘッダーがmysetというセットに一致する(つまり、含まれる)パケットを一致させること」を意味します。

このフラグはdst「ターゲット」一致を示します。このフラグはsrc「source」で一致し、src、dstフラグはソースとターゲットで一致します。

関連情報