在服务器上架了一个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 将所有表的所有 查看图片附件
时间: 2024-09-27 10:04:25