【防火墙】防火墙iptables 设置

在服务器上架了一个tomcat,指定好端口号,我就开始访问,未果!【防火墙】防火墙iptables 设置
公司对服务器(RedHat)端口限制,可谓是滴水不漏!【防火墙】防火墙iptables 设置
用iptables 查看防火墙设置:
Shell代码【防火墙】防火墙iptables 设置
  1. iptables-nL

【防火墙】防火墙iptables 设置
我需要一个8880端口,看来是不能访问了!【防火墙】防火墙iptables 设置
直接修改配置文件:
Shell代码【防火墙】防火墙iptables 设置
  1. vi/etc/sysconfig/iptables

【防火墙】防火墙iptables 设置
照猫画虎,增加红框中的内容!

这样做还不保险,诡异状况下这个端口还是会被屏蔽!
强制保存:
Shell代码【防火墙】防火墙iptables 设置
  1. serviceiptablessave

【防火墙】防火墙iptables 设置

然后,重启服务:
Shell代码【防火墙】防火墙iptables 设置
  1. serviceiptablesrestart

【防火墙】防火墙iptables 设置
再看看防火墙设置:
Shell代码【防火墙】防火墙iptables 设置
  1. iptables-nL

【防火墙】防火墙iptables 设置

OK,现在就可以通过ip+端口在局域网内访问了!【防火墙】防火墙iptables 设置

来点实际的,限制外网非80端口的一切访问
使用命令
Shell代码【防火墙】防火墙iptables 设置
  1. #接受80端口的tcp访问,且指定网卡为eth1
  2. iptables-AINPUT-ptcp-mtcp--dport80-ieth1-jACCEPT
  3. #拒绝非内网地址的一切访问,指定网卡为eth1
  4. iptables-AINPUT-s!10.0.0.0/255.0.0.0-ieth1-jDROP

使用iptables-save强制生效,但我无论如何使用该命令,重启ipatbles服务后,都是根据配置文件走的。

来个直接的,编辑iptables
Shell代码【防火墙】防火墙iptables 设置
  1. vim/etc/sysconfig/iptables

追加以下内容:
Shell代码【防火墙】防火墙iptables 设置
  1. #接受80端口的tcp访问,且指定网卡为eth1
  2. -AINPUT-ptcp-mtcp--dport80-ieth1-jACCEPT
  3. #拒绝非内网地址的一切访问,指定网卡为eth1
  4. -AINPUT-s!10.0.0.0/255.0.0.0-ieth1-jDROP


重启iptables:
Shell代码【防火墙】防火墙iptables 设置
  1. serviceiptablesrestart

查看iptables状态:
Shell代码【防火墙】防火墙iptables 设置
  1. 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的配置!!!【防火墙】防火墙iptables 设置
否则,配置错误了,连SSH都没得用!【防火墙】防火墙iptables 设置

最后,最关键的一步,使得iptable配置随系统启动:
Shell代码【防火墙】防火墙iptables 设置
  1. serviceiptablessave

引用
# service iptables save
将当前规则保存到 /etc/sysconfig/iptables: [确定]



据说
Shell代码【防火墙】防火墙iptables 设置
  1. chkconfigiptableson
也可以达到自动启动作用,即启动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 将所有表的所有