防火墙iptables 设置

原文链接:https://my.oschina.net/mohaiyong/blog/221263
公司对服务器(RedHat)端口限制,可谓是滴水不漏!
用iptables 查看防火墙设置:
iptables -nL

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

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

这样做还不保险,诡异状况下这个端口还是会被屏蔽!
强制保存:
service iptables save

防火墙iptables 设置

然后,重启服务:
service iptables restart

防火墙iptables 设置
再看看防火墙设置:
iptables -nL

防火墙iptables 设置

OK,现在就可以通过ip+端口在局域网内访问了!

来点实际的,限制外网非80端口的一切访问
使用命令
#接受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
vim /etc/sysconfig/iptables

追加以下内容:
#接受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:
service iptables restart

查看iptables状态:
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配置随系统启动:
service iptables save

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


据说
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    将所有表的所有

转载于:https://my.oschina.net/mohaiyong/blog/221263

上一篇:克隆centos虚拟机导致eth0网卡不可用


下一篇:Nginx 高可用集群解决方案 Nginx + Keepalived