防火墙命令

1查看当前所有防火墙规则

  命令:iptables  -L  -n -v 

要显示输入或者输出链规则,且结果中有行号,可以运行

iptables -L input -n -v 
iptables -L output -n  --line -namubers
iptables -L output -n  --line -numbers|less
iptables -L output -n -line -numbers|grep 202.54.1.1

2删除规则

命令:iptables -D INPUT 4 

将IP地址202.54.1.1从规则中删除:

命令: iptables -D INPUT -s 202.54.1.1 -j DROP 

3拒绝所有IP访问

命令: iptables -P INPUT DROP (拒绝入栈)/使用这个命令之前必须把你当前IP添加到允许中去
命令: iptables -P OUTPUT DROP (拒绝出栈)/这个命令用不得,特别是远程进入的

4屏蔽入栈IP地址访问

iptables -A INPUT -s 1.2.3.4 -j DROP 
iptables -A INPUT -s 192.168.0.0/24 -j DROP 

5屏蔽入栈端口请求

如果我们想在80 端口上面屏蔽所有的服务请求,可以运行:
iptables -A INPUT -p tcp --dport 80 -j DROP 
iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP 
只是想屏蔽地址1.2.3.4对80端口的请求,可以运行:
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP 
iptables -A INPUT -i ech1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP  

6屏蔽出栈IP地址

首先获取一个域名的IP地址,要屏蔽访问域名baidu.com的网络数据包,可以运行:
host -t baidu.com
iptables -A OUTPUT -d 1.2.3.4 -j DROP 

7允许一系列IP地址访问

iptables -A  INPUT -s 192.190.1.1. -j ACCEPT 
iptables -A OUTPUT -s 192.190.1.1 -j ACCEPT 
iptablels -A FORWARD -s 192.190.1.1 -j ACCEPT
service iptables save 保存规则

允许所有本机向外的访问

iptables -A OUTPUT -j ACCEPT

运行IP地址方位192.168.1.100 到192.168.1.200访问80端口

iptables -A INPUT -p tcp --destination -port 80 -m iprange --src -range 192.168.1.100-192.168.1.200 -jACCEPT

下面的命令可以允许7000 到7010方位内的TCP端口访问:

iptables -A INPUT  -m state --state NEW -m tcp --dport 7000:7010 -j ACCEPT 

8解决重启iptables 服务重启所有连接:

重启后永久生效

开启:chkconfig iptables on 
关闭: chkconfig iptables off

即时生效,重启后失效

开启:service iptables start 
关闭:service iptables stop 
当重启iptables服务时,他会断开所有已建立的连接,这是因为在重启防火墙时,会卸载 IPTABLES_MODULES_UNLOAD 模块
要解决这个问题,可以编辑/etc/sysconfig/iptables-config 
vi /etc/init.d/iptables
IPTABLES_MODULES_UNLOAD=no 

9屏蔽或者开启常用的TCP、UDP端口

可以使用DROP 替换ACCEPT,实现端口屏蔽
打开22端口(ssh)
iptables -A inPUT -m state --state NEW -m TCP -p tcp --dport 22 -j ACCEPT 
打开TCP/UDP631 端口(打印服务)
iptables  -A INPUT -s 192.168.1.0/24 -p udp -m --dport 631 -j ACCEPT 
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m --dport 631 -j ACCEPT 
打开123端口,允许局域网用户进行NTP时间同步
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT 
打开25 端口(SMTP)
iptables -A input -m state --state NEW -p tcp --dport 25 -j ACCEPT 
打开DNS端口 
iptables -A INPUT -m state --state NEW -p udp -- dport 53 ACCEPT 
iptables -A INPUT -m state -- state NEW -p tcp --dport 53 -j ACCEPT 
打开http/https 端口
iptables  -A INPUT -m state --state NEW  -p --dport 80 -j ACCEPT 
iptables -A INPUT -m state  --state NEW -p tcp --dport 443 -j ACCept 
打开TCP110 端口(POP3)
IPtable是 -A INPUT -m  state --state NEW -p tcp --dport 110 -j ACCEPT 
打开TCP143 端口
iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT 
为局域网用户开启Samba访问
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j  ACCEPT 
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j  ACCEPT 
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j  ACCEPT 
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport  445 -j  ACCEPT 
为局域网用户开启代理服务器访问
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT 
为局域网开启MySQL访问
iptables -l INPUT -p tcp --dport 3306 -j ACCEPT  

10限制客户端IP的并发连接数

我们可以使用connlimit 模块限制哭护短IP的并发连接数,下面的命令允许每个客户端职能并发3个ssh连接:
iptables -A INPUT -p tcp --svn --dport 22 -m connlimit -adove 3 -j REJECT 
设置HTTP并发连接20个:
iptables  -p tcp --syn --dport 80 -m connlimit -adove 20 --connlimit -mask 24 -j DROP  
参数说明:
--connlimit -adove 3:连接数超过3个自动匹配
--connlimit -mask 24:子网掩码匹配 

测试防火墙

测试端口是否开放:
netstat -tulpn 
测试TCP 80 端口是个开放
netstat -tu;pn|grep :80 
如果80端口开放,请确保启动Apache服务器:
service httpd start 
并确保打开iptables防火墙80端口:
iptables -L INPUT -v -n |greo 80 
如果80端口没有开放,可以运行下面的命令:
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j  ACCEPT  
service iptables save  
下面使用telnet 命令测试是否可以连接到80 端口:
telnet www.baidu.com 80  

使用Crit日志级别

iptables  -A INPUT -s 1.2.3.4 -p tcp --destination -port 80 -j LOG --log -level crit  

屏蔽ICMP ping请求

我们可以通过允许下面的命令屏蔽ping请求:
iptables  -A INPUT -p icmp -type echno -request -j DROP 
iptables -A INPUT -i eth1 -p icmp --icmp -type echo -request -j DROP 
也可以按照特定额网段和主机限制ping请求:
iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp -type exho -request -j ACCEPT 

根据MAC地址允许或者阻止数据包的传入

iptables -A INPUT -m  mac -- mac -source 00:0F:FA:91:04:08 -j DROP 

参考:http://www.csdn.net/article/2012-01-17/310905

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值