`
wangleide414
  • 浏览: 591426 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Iptables 命令格式

 
阅读更多

 

iptables命令格式
#iptables [-t表] -命令 匹配 操作
1.表选项
 表选项用于指定命令应用于哪个iptables内置
表,iptables内置包括filter表、nat表和mangle表。
2.命令选项
命令                 说明
-P或--policy  <链名> 定义默认策略
-L或--list  <链名> 查看iptables规则列表
-A或—append  <链名> 在规则列表的最后增加1条规则
-I或--insert  <链名> 在指定的位置插入1条规则
-D或--delete  <链名> 从规则列表中删除1条规则
-R或--replace  <链名> 替换规则列表中的某条规则
-F或--flush  <链名> 删除表中所有规则
-Z或--zero  <链名> 将表中数据包计数器和流量计数器归零
3.匹配选项
匹配                        说明
-i或--in-interface  <网络接口名> //指定数据包从哪个网络接口进入,如ppp0、eth0和eth1等
-o或--out-interface  <网络接口名>//指定数据包从哪块网络接口输出,如ppp0、eth0和eth1等
-p或---proto协议类型  // 指定数据包匹配的协议,如TCP、UDP和ICMP等
-s或--source  <源地址或子网>//指定数据包匹配的源地址
--sport <源端口号> //指定数据包匹配的源端口号,可以使用“起始端口号:结束端口号”的格式指定一个范围的端口
-d或--destination  <目标地址或子网> //指定数据包匹配的目标地址
--dport目标端口号 //指定数据包匹配的目标端口号,可以使用“起始端口号:结束端口号”的格式指定一个范围的端口
4.动作选项
动作     说明
  ACCEPT     接受数据包
  DROP     丢弃数据包
  REDIRECT    将数据包重新转向到本机或另一台主机的某个端口,通常用功能实现透明代理或对外开放内网某些服务
SNAT     源地址转换,即改变数据包的源地址
DNAT     目标地址转换,即改变数据包的目的地址
MASQUERADE  IP伪装,即是常说的NAT技术,MASQUERADE只能用于ADSL等拨号上网的IP伪装,也就是主机的IP是由ISP分配动态的;如果主机的IP地址是静态固定的,就要使用SNAT
LOG    日志功能,将符合规则的数据包的相关信息记录在日志中,以便管理员的分析和排错

 
iptables技巧实例
1、禁止客户机访问不健康网站
【例1】添加iptables规则禁止用户访问域名为www.playboy.com的网站,然后查看filter表的FORWARD链规则列表。
           -命令       匹配              操作
#iptables -I FORWARD -d www.playboy.com -j DROP
#iptables -t filter -L FORWARD
【例2】添加iptables规则禁止用户访问IP地址为202.17.61.4的网站,然后查看filter表的FORWARD链规则列表。
          -命令       匹配             操作
#iptables -I FORWARD -d 202.17.61.4 -j DROP
#iptables -t filter -L FORWARD
2、禁止某些客户机上网
【例1】添加iptables规则禁止IP地址为192.168.1.200的客户机上网,然后查看filter表的FORWARD链规则列表。
          -命令       匹配             操作
#iptables -A FORWARD -s 192.168.1.200 -j DROP
#iptables -t filter -L FORWARD
【例2】添加iptables规则禁止192.168.2.0子网里所有的客户机上网,然后查看filter表的FORWARD链规则列表。
          -命令       匹配             操作
#iptables -I FORWARD -s 192.168.2.0/24 -j DROP
#iptables -t filter -L FORWARD
3、禁止客户机访问某些服务
【例1】禁止192.168.1.0子网里所有的客户机使用FTP协议下载(即封闭TCP协议的21端口),然后查看filter表的FORWARD链规则列表。
#iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 21 -j DROP
#iptables -t filter -L FORWARD
【例2】禁止192.168.1.0子网里所有的客户机使用Telnet协议连接远程计算机(即封闭TCP协议的23端口),然后查看filter表的FORWARD链规则列表。
#iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 23 -j DROP
#iptables -t filter -L FORWARD
4、强制访问指定的站点
【例】强制所有的客户机访问210.21.118.68这台Web服务器,然后查看nat表的PREROUTING链规则列表。
           表        -命令       匹配           
#iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80     操作(转换)
-j DNAT --to 210.21.118.68:80
#iptables -t nat -L PREROUTING
5、禁止客户机使用QQ
#iptables -I FORWARD -p tcp --dport 8000 -j DROP
#iptables -I FORWARD -p udp --dport 8000 -j DROP
#iptables -I FORWARD -d tcpconn.tencent.com -j DROP
#iptables -I FORWARD -d tcpconn2.tencent.com -j DROP
#iptables -I FORWARD -d tcpconn3.tencent.com -j DROP
#iptables -I FORWARD -d tcpconn4.tencent.com -j DROP
#iptables -I FORWARD -d http.tencent.com -j DROP
#iptables -I FORWARD -d http2.tencent.com -j DROP
6、禁止使用ICMP协议
【例】禁止Internet上的计算机通过ICMP协议ping到NAT服务器的ppp0接口,但允许内网的客户机通过ICMP协议ping的计算机,然后查看filter表的INPUT链规则列表。
#iptables -I INPUT -i ppp0 -p icmp -j DROP
#iptables -t filter -L INPUT
7、发布内部网络服务器
【例1】发布内网192.168.16.200主机的Web服务,Internet用户通过访问ppp0的IP地址即可访问该主机的Web服务。
#iptables -t nat -I PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.16.200:80
#iptables -t nat -L PREROUTING
【例2】发布内网192.168.16.100主机的终端服务(使用的是TCP协议的3389端口),Internet用户通过访问ppp0的IP地址访问该机的终端服务。
#iptables -t nat -I PREROUTING -i ppp0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.100:3389
#iptables -t nat -L PREROUTING
8、智能DNS服务
【例】将所有从eth0接口进入的DNS请求都发送到IP地址为61.144.56.101这台服务器解析,然后查看nat表的PREROUTING链规则列表。
#iptables -t nat -I PREROUTING -i eth0 -p udp --dport 53 -j DNAT --to-destination 61.144.56.101:53
#iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 53 -j DNAT --to-destination 61.144.56.101:53
#iptables -t nat -L PREROUTING

 

要把这些修改,改写/etc/sysconfig/iptables

再service iptables restart.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics