特定のローカル IP にファイアウォール ルールを適用するにはどうすればよいですか?

特定のローカル IP にファイアウォール ルールを適用するにはどうすればよいですか?

私はゲームサーバーをホストしており、その結果、いくつかの IP を持っています。メイン サーバーの IP にはゲーム パネルがあり、他の IP は顧客向けにホストしているゲームサーバーが使用するために予約されています。

その結果、ポート80と443が開かれるようになりますのみプライマリ サーバーの IP アドレスで。iptablesこれに対応するコマンドを検索しましたが、何も見つかりませんでした (特定の外部 IP のポートを許可/ブロックする方法を示す結果のみ)。

これは で可能ですかiptables? 可能であれば、どのようにすればよいですか?

オペレーティング システムは Ubuntu 14.04LTS です。

答え1

IPに基づいてブロック/許可することもできます。マニュアルページでhttp://linux.die.net/man/8/iptables

-s, --source [!] address[/mask] ソース指定。アドレスは、ネットワーク名、ホスト名 (DNS などのリモート クエリで解決される名前を指定することは、非常に悪い考えであることに注意してください)、ネットワーク IP アドレス (/mask を使用)、または単純な IP アドレスのいずれかです。マスクは、ネットワーク マスクまたは単純な数値のいずれかで、ネットワーク マスクの左側の 1 の数を指定します。したがって、マスク 24 は 255.255.255.0 に相当します。アドレス指定の前の "!" 引数は、アドレスの意味を反転します。フラグ --src は、このオプションのエイリアスです。 -d, --destination [!] address[/mask] 宛先指定。構文の詳細な説明については、-s (ソース) フラグの説明を参照してください。フラグ --dst は、このオプションのエイリアスです。

次のようなことができます

sudo iptables -A INPUT -d [serverip]/32 -p tcp --dport 80 -j ACCEPT

指定されたIPへのポート80のみを許可するか、他のIPのリスニングをブロックすることができます。

送信元アドレスのフラグは-s

関連情報