web-dev-qa-db-ja.com

iptables-Eth1での着信をブロックし、eth0からのすべてを許可する

2つのイーサネットポートを処理するために、iptablesに少し行き詰まっています。

lAN用のeth0ポート(192.168.1.50プライベートIP)。

eth1ポートはケーブルモデム(80.0.xxx.xxxパブリックIP)経由でインターネットに接続されています。

eth0      Link encap:Ethernet  HWaddr 00:19:99:C1:86:BB
          inet addr:192.168.1.50  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:137532 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55658 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:99968969 (95.3 MiB)  TX bytes:10403525 (9.9 MiB)
          Interrupt:50 Memory:fe700000-fe720000

eth1      Link encap:Ethernet  HWaddr 00:19:99:C1:61:3B
          inet addr:80.0.xxx.xxx  Bcast:255.255.255.255  Mask:255.255.252.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:144558 errors:0 dropped:0 overruns:0 frame:0
          TX packets:70347 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34500131 (32.9 MiB)  TX bytes:27893843 (26.6 MiB)
          Interrupt:177 Memory:fe600000-fe620000

eth1へのすべての着信ルートをブロックしたいが、ポート21のみを許可したい。外部IPがWebサーバー、ftpサーバーなどにアクセスできないようにするため。ポート21のみをSSHアクセスに許可する。 Pingも動作するはずです。

ローカルネットワーク(eth0)では、ローカルIPの192.168.1.20と192.168.1.30が192.168.1.50サーバーにアクセスするのをブロックするだけで、誰でも何にでもアクセスできるはずです。

Iptablesを使用してどのように実行できますか?

4
I'll-Be-Back

Eth1へのすべての着信ルートをブロックし、ポート21のみを許可したかったのです。外部IPがWebサーバー、ftpサーバーなどにアクセスできないようにするために、ポート21のみをSSHアクセスに許可します。 Pingも動作するはずです。

最もクリーンな方法は、内部インターフェイスでのみリッスンするようにweb/ftp-serversを構成することです。このようにして、ネットワーク関連のテクニックについて心配する必要はまったくありません。

何らかの理由でそれができない場合は、次のルールを適用してください。

iptables -A INPUT -i eth1 -p icmp -j ACCEPT           # allow ping
iptables -A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT # allow SSH
iptables -A INPUT -i eth1 -j DROP                     # drop everything else

(ちなみに、SSHのデフォルトポートは22ですが、SSHがリッスンする場所を知っていると思います。)


ローカルネットワーク(eth0)では、ローカルIPの192.168.1.20と192.168.1.30が192.168.1.50サーバーにアクセスするのをブロックするだけで、誰でも何にでもアクセスできるはずです。

シンプル:

iptables -A INPUT -i eth0 -s 192.168.1.20 -j DROP 
iptables -A INPUT -i eth0 -s 192.168.1.30 -j DROP

これにより、これらのホストからのすべてのパケットがドロップされます。ここでもpingを許可する場合は、eth1のようにicmpに同様のルールを使用します。

6
Karma Fusebox