我在CentOS服务器上安装了postgre。
我基本上遵循这个指南在这里: PostgreSQL在最后一步它说我需要打开TCP端口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似乎保持closures。
任何帮助将不胜感激。
编辑:
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:这是当我closuresiptables发生什么事情。
[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
你添加到:RH-Firewall-1-INPUT - [0:0]部分? 你能否也请在这里发布错误?
如果您所做的只是试图打开一个端口,那么名为Firestarter的程序可能会帮助正确? 我觉得他们对CentOS也有一些分歧。
你几乎在那里。 你需要像这样打开表格:
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然后编辑该文件,添加下面的REJECT:
-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 22 -j ACCEPT
保存文件并重新执行iptables。
看看这个文件。 应该有其他的规则引用相同的链,链应该像这样在上面创build:
:RH-Firewall-1-INPUT - [0:0]
我不确定只接受新的数据包实际上是为你做的。 这只会有一个规则,在那里接受状态ESTABLISHED和RELATED(这是默认的,但你永远不知道)的所有数据包。
你可以通过运行来检查这个链是否存在
iptables -L -nv
这应该在输出的某个地方显示一段话
Chain RH-Firewall-1-INPUT (policy ...)
如果您安装了其他防火墙软件包,则这些function都不会起作用,因为它们将绕过默认的防火墙设置并安装自己的规则。
编辑这里是从我们的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