web-dev-qa-db-ja.com

Centosファイアウォールの開口部ポート

CentOSサーバーにpostgreをインストールしました。

私は基本的にここでこのガイドに従いました: PostgreSQL 最後のステップで、Open TCP port 5432が必要であると表示されます。そのためには、次の行を/に追加する必要があります。 etc/sysconfig/iptables:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

iptablesを再起動すると、新しい行でエラーが発生します。RH-Firewall-1-INPUTの部分が気に入らないようです。問題は、iptablesサービスを停止しても、ポート5432が閉じたままになっているように見えることです。

どんな助けでもありがたいです。

編集:

iptables -L -nv
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 2331  187K RH-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RH-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 2080 packets, 490K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain RH-Firewall-1-INPUT (2 references)
 pkts bytes target     prot opt in     out     source               destination
    1    29 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth0.4 *       0.0.0.0/0            0.0.0.0/0
 2330  187K ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth0.1 *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth0.2 *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth0.3 *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 255
    0     0 ACCEPT     esp  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     ah   --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            224.0.0.251         udp dpt:5353
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:631
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:631
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:5432
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:23
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:25
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-Host-prohibited

ps aux | grep postgre
postgres 20132  0.0  0.0 120692  3336 ?        S    15:41   0:00 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/data
postgres 20134  0.0  0.0 109872   704 ?        S    15:41   0:00 postgres: logger process
postgres 20136  0.0  0.0 120692   980 ?        S    15:41   0:00 postgres: writer process
postgres 20137  0.0  0.0 110872   700 ?        S    15:41   0:00 postgres: stats buffer process
postgres 20138  0.0  0.0 110060   876 ?        S    15:41   0:00 postgres: stats collector process
root     20299  0.0  0.0  61152   728 pts/0    S+   16:08   0:00 grep postgre

編集2:これはiptablesをオフにしたときに起こることです。

[maguirre@server ~]# /etc/init.d/iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
[maguirre@server ~]# iptables -L -nv
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
2
irco

もうすぐです。次のようにテーブルを開く必要があります。

iptables -I INPUT 1 -m tcp -p tcp --dport 5432 -j ACCEPT

ここでは、デフォルトのINPUTチェーン(この場合はRH-Firewall-1または1)のルールを挿入します。オプション「-m」は、プロトコル、状態、またはセッションに基づいてフィルタリングできるマッチング演算子です。ただし、ポートが開いていることだけを気にするので、それがtcpパケットであることを確認するだけです(おそらく-pは必要ありませんが、良い習慣として、とにかくそれを追加するだけです)。そこから、デフォルトのポートを指定するだけで、準備は完了です。

その際、REJECTステートメントの直前のルールになります。先に進み、次のように保存します。

service iptables save

そして再起動します:

service iptables restart

ルールが適切な場所に挿入されなかった場合は、/ etc/sysconfig/iptablesをバックアップしてからファイルを編集し、次の拒否を追加します。

-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 22 -j ACCEPT

ファイルを保存して、iptablesをもう一度再起動します。

1
Rilindo

:RH-Firewall-1-INPUT - [0:0]セクションに追加していますか?ここにエラーを投稿していただけませんか?

1
Alex

1つのポートを開こうとしているだけの場合は、 Firestarter というプログラムが役立つかもしれません。また、CentOSについても配布されていると思います。

1
djangofan

ファイルを見てください。同じチェーンを参照する他のルールがあり、チェーンは次のような行で上部に作成する必要があります。

:RH-Firewall-1-INPUT - [0:0]

新しいパケットだけを受け入れることが実際にあなたのためにトリックをするかどうかはわかりません。これは、ESTABLISHEDおよびRELATEDの状態のすべてのパケットを受け入れるルールもある場合にのみ機能します(これはデフォルトですが、わかりません)。

このチェーンが存在するかどうかは、を実行して確認できます。

iptables -L -nv

これにより、出力のどこかに次のようなセクションが表示されます。

Chain RH-Firewall-1-INPUT (policy ...)

他のファイアウォールパッケージがインストールされている場合、デフォルトのファイアウォール設定をバイパスして独自のルールをインストールするため、これは機能しません。

[〜#〜] edit [〜#〜]これがFedoraボックスからのこのファイルの内容です。上部のコメントに注意してください。

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-Host-prohibited
COMMIT
0
wolfgangsz