web-dev-qa-db-ja.com

iptables:特定のポートを介して1つのIPのみを許可する方法

Ibuntablesでは、ubuntuサーバーで特定のポートに1つのIPアドレスのみを許可するにはどうすればよいですか?

ありがとう

27
Anonymous12345

一発ギャグ:

iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 777 -j DROP  # if it's not 1.2.3.4, drop it

よりエレガントなソリューション:

iptables -N xxx # create a new chain
iptables -A xxx --src 1.2.3.4 -j ACCEPT  # allow 1.2.3.4
iptables -A xxx --src 1.2.3.5 -j ACCEPT  # allow 1.2.3.5
iptables -A xxx --src 1.2.3.6 -j ACCEPT  # allow 1.2.3.6
iptables -A xxx -j DROP  # drop everyone else
iptables -I INPUT -m tcp -p tcp --dport 777 -j xxx  # use chain xxx for packets coming to TCP port 777
50

これが私のCentOSシステムの1つの例です(アドレスは難読化されています)。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 -d 5.6.7.8 --dport 22 -j ACCEPT
0
obfuscurity

Shorewallを使用してIPテーブルを構成します。 1つのホストからポート123に受け入れるなどのルールを使用します。

ACCEPT net:192.0.2.1 $ FW tcp 1234

0
BillThor