今天往Redhat上部署了一个应用,服务启动均正常,但是访问时均提示找不着服务,非常郁闷。后来恍然大悟,Telnet端口,结果从我机器到服务器上端口是不通的。原来这台机器打开了防火墙,端口都没有打开,经过一凡折腾,问题终于解决了,现将处理过程记录如下,方便遇到类似问题的人。
1、iptables所在路径
/etc/sysconfig/iptables
2、查看防火墙常用命令
service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙
3、开放防火墙特定端口
iptables -I INPUT -p tcp --dport 9060 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 9060 -j ACCEPT
service iptalbes save
service iptalbes restart
命令详解:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
禁止某个IP访问
iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
–s 参数是来源(即192.168.1.2)
后面拒绝就是DROP