己所不欲勿施于人!
全部博文(80)
分类: Oracle
2008-10-29 19:50:45
最近为了更好的学习linux和oracle 以及学习一下RAC,在虚拟机上安装了两个系统rhel4和rhel3。
在两个系统都安装好了oracle10g,于是乎,就该让两个系统可以相互连接。
[oracle@libydwei oracle]$ tnsping vm_as4
TNS Ping Utility for Linux: Version 10.1.0.3.0 - Production on 23-OCT-2008 02:32:02
Copyright (c) 1997, 2003, Oracle. All rights reserved.
......
TNS-12560: TNS:protocol adapter error
-_-!(本来学的就不好,咋还出问题了!)
到网上查了好久,有一位大哥花了好大的篇幅说明了处理该问题的思路。按照这个思路花了我大半个晚上的时间,还是没找到!(确实没问题啊!)
想想自己还是太笨了,怎么就没考虑会不会是存在防火墙的问题啊?
[root@orclrhel4 ~]# service iptables status
......
target prot opt source destination
ACCEPT all -- 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
ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
从上面看,根本没有开放1521端口。但是还不知道是不是这个问题所以先解决掉防火墙。
[root@orclrhel4 ~]# service iptables stop
再次tnsping vm_as4的时候,就没有问题了!
问题到这里似乎该告一段落了,但是这个爱钻研的我(你没在笑我吧!)还是没有死心!
这是时我想先打开防火墙。
$service iptables start
没有一点反应,就像没有执行过一样。
查看 vi /etc/init.d/iptables
在启动是有这么一句话。
IPTABLES=iptables
IPTABLES_DATA=/etc/sysconfig/$IPTABLES
.................
.........
start() {
# Do not start if there is no config file.
[ -f "$IPTABLES_DATA" ] || return 1
看来这个/etc/sysconfig/iptables还是必须有的.
上网看看,真的有一位仁兄把这个配置文件(iptables)给贴出来了,可是我用了一下,根本不行。(奈何,我也不会自己写啊)
最后找到了一个简单的办法,在图形界面下,先停用防火墙,在启用防火墙并启用其中的一个,不如www吧,
这时实际上是开放了80端口,这个文件会自动创建的。
$service iptables start 就没问题了!
回到前面的问题,如果我想开着防火墙,又想打开1521的端口呢?
这个简单,可以参照放开80,21等我们常用的端口的形式。自己在后面加一条。
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
注意不要加在最后,最好接着开放80、21端口的写哦(因为所有的iptables的策略是有先后顺序的)!
好了就到这里吧!回头好好学学iptables,再和大家详细的说说!
chinaunix网友2009-01-19 09:11:27
这个有用,特别要注意的是这个"最好接着开放80、21端口的写哦(因为所有的iptables的策略是有先后顺序的)!"我以前直接加在后面,结果都不行,看了这篇才知道,有先后顺序