在服务器上架了一个tomcat,指定好端口号,我就开始访问,未果!
公司对服务器(RedHat)端口限制,可谓是滴水不漏!
用iptables 查看防火墙设置:
Shell代码
iptables -nL
我需要一个8880端口,看来是不能访问了!
直接修改配置文件:
Shell代码
vi /etc/sysconfig/iptables
照猫画虎,增加红框中的内容!
这样做还不保险,诡异状况下这个端口还是会被屏蔽!
强制保存:
Shell代码
service iptables save
然后,重启服务:
Shell代码
service iptables restart
再看看防火墙设置:
Shell代码
iptables -nL
OK,现在就可以通过ip+端口在局域网内访问了!
来点实际的,限制外网非80端口的一切访问
使用命令
Shell代码
#接受80端口的tcp访问,且指定网卡为eth1
iptables -A INPUT -p tcp -m tcp --dport 80 -i eth1 -j ACCEPT
#拒绝非内网地址的一切访问,指定网卡为eth1
iptables -A INPUT -s ! 10.0.0.0/255.0.0.0 -i eth1 -j DROP
使用iptables-save强制生效,但我无论如何使用该命令,重启ipatbles服务后,都是根据配置文件走的。
来个直接的,编辑iptables
Shell代码
vim /etc/sysconfig/iptables
追加以下内容:
Shell代码
#接受80端口的tcp访问,且指定网卡为eth1
-A INPUT -p tcp -m tcp --dport 80 -i eth1 -j ACCEPT
#拒绝非内网地址的一切访问,指定网卡为eth1
-A INPUT -s ! 10.0.0.0/255.0.0.0 -i eth1 -j DROP
重启iptables:
Shell代码
service iptables restart
查看iptables状态:
Shell代码
iptables -nL
引用
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 127.0.0.1 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
DROP all -- !10.0.0.0/8 0.0.0.0/0
一定要注意顺序,一定是先做ACCEPT的配置,最后做DROP的配置!!!
否则,配置错误了,连SSH都没得用!
最后,最关键的一步,使得iptable配置随系统启动:
Shell代码
service iptables save
引用
# service iptables save
将当前规则保存到 /etc/sysconfig/iptables: [确定]
据说
Shell代码
chkconfig iptables on
也可以达到自动启动作用,即启动iptables就会自动读取配置文件(/etc/sysconfig/iptables) 。
引用
Iptables的命令选项
iptables [-t tables] command option parameter target
-A 在链尾添加一条规则
-C 将规则添加到用户定义链之前对其进行检查
-D 从链中删除一条规则
-E 重命名用户定义的链,不改变链本身
-F 清空链,删除链上的所有规则
-I 在链中插入一条规则
-L 列出某个链上的规则,如iptables –L INPUT 列出INPUT链的规则
-N 创建一个新链
-P 定义某个链的默认策略
-R 替换链上的某条规则
-X 删除某个用户相关的链
-Z 将所有表的所有
查看图片附件