`
gcgmh
  • 浏览: 354934 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iptables的使用方法

阅读更多

保存保存.写入到/etc/sysconfig/iptables文件里

iptables-save >/etc/sysconfig/iptables

/etc/rc.d/init.d/iptables save

service iptables save

 

iptables -L -n

iptables –t nat –L :显示nat表的中的设置

 

iptables -F 清除预设表filter中的所有规则链的规则 

 

iptables -X 清除预设表filter中使用者自定链中的规则

 

-D删除链里面的某一条规则:

iptables -L 

iptables –D INPUT 3 删除INPUT链上的第3条规则。

 

插入规则 iptables -I 插入到第一行,成为第一个规则

 

iptables-save >/etc/sysconfig/iptables

 

设定链的规则

iptables -p INPUT DROP 

 

iptables -p OUTPUT ACCEPT 

 

iptables -p FORWARD DROP 

 

开启22端口. 

 

iptables -A INPUT -p tcp --dport 22 -j ACCEPT 

iptables -A INPUT -p tcp --dport 80 -j ACCEPT 

 

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

 

邮件服务器,开启25,110端口. 

iptables -A INPUT -p tcp --dport 110 -j ACCEPT 

iptables -A INPUT -p tcp --dport 25 -j ACCEPT

 

如果做了FTP服务器,开启21端口 

iptables -A INPUT -p tcp --dport 21 -j ACCEPT 

iptables -A INPUT -p tcp --dport 20 -j ACCEPT 

 

如果做了DNS服务器,开启53端口 

iptables -A INPUT -p tcp --dport 53 -j ACCEPT

 

允许icmp包通过,也就是允许ping, 

iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话) 

iptables -A INPUT -p icmp -j ACCEPT (INPUT设置成DROP的话) 

 

 

只是良好的链接状态才接受

iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

 

 

开启内网所有端口

iptables -A INPUT  -d 10.0.0.0/16 -j ACCEPT  

 

多端口配置

iptables -A INPUT -p tcp -m multiport --source-port 22,53,80,110 -j ACCEPT

 

配置回环

iptables–A INPUT –i lo –j ACCEPT

iptables -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP) 

 

-s IP地址或者网段 匹配源IP地址或者网段 -d是匹配目的地址ip段,用法同-s

-s 192.168.0.1/24 ,如果是除这个网段之外的所有则为:! -s 192.168.0.1/24 

 

 

丢弃坏的TCP包 

iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP (! --syn就是syn=0的包,正常的一个包是1)

 

处理IP碎片数量,防止攻击,允许每秒100个 (100/m,就是每分钟100个)

iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT 

 

设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包. 

iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

 

 

设置Iptables FORWORD规则:

首先要开启转发功能:编辑/etc/sysctl.conf文件

net.ipv4.ip_forward = 1

sysctl -p 执行一下

 

做网关转发上网(路由功能)

iptables -P FORWARD DROP

iptables -A FORWARD -i eth0 -s 192.168.0.0/24 -j ACCEPT

iptables -A FORWARD -o eth0 -d 192.168.0.0/24 -j ACCEPT

 

iptables -A FORWARD -s 10.0.0.230 -m mac --mac-source 00:00:BA:A5:7D:12 -i eth0 -j DROP 

 

禁止访问制的的网站

iptables -A FORWARD -d www.baidu.com -j DROP

 

禁止机器上网

iptables -A FORWARD -s 10.0.0.0/24  -j DROP

 

禁止内网机器使用ftp协议下载

iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 21 -j DROP

iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 23 -j DROP

 

 

通过dnat访问内网的网站

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80

 

禁止外网的机器ping,但内网的不限制(eth1是外网网卡)

iptables -A INPUT -i eth1 -p icmp -j DROP

 

访问10.0.0.3主机的3389端口

iptables -t nat -A PREROUTING -p tcp --dport 3389  -j DNAT --to-destination 10.0.0.3:3389

 

封掉QQ等聊天工具,通过不让他查询dns服务器,获取不到ip地址来做到

iptables -A FORWARD -i eth0 -p udp --dport 53 -m string --algo bm --string "tencent" -j DROP

iptables -A FORWARD -i eth0 -p udp --dport 53 -m string --algo bm --string "TENCENT" -j DROP

限制打开含有qq.com的页面,也就封了webQQ的页面

iptables  -A FORWARD -i eth0  -m string --algo bm --string "qq.com" -j DROP

 

 

 

 

使用实例

前提:INPUT OUTPUT FORWARD 都为DROP

 

作为客户机的iptables基本设置:

dns ping lo ssh

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT  #其他主机ssh连接过来

-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT # 本机ssh其他机器

-A INPUT -i lo -j ACCEPT 

-A INPUT -p icmp -j ACCEPT 

-A INPUT -p udp -m udp --sport 53 -j ACCEPT  #open dns port is udp 53 

-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT #其他主机ssh连接过来

-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT # 本机ssh其他机器

-A OUTPUT -o lo -j ACCEPT 

-A OUTPUT -p icmp -j ACCEPT 

-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT #open dns port is udp 53

 

做为一个服务器端的配置

ssh dns www ftp email

 

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -p udp -m udp --sport 53 -j ACCEPT

-A INPUT -p tcp -m tcp --sport 22 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT  开启80端口

-A INPUT -s 10.0.0.102 -p tcp -m tcp --dport 80 -j DROP  禁止10.0.0.102访问80端口

-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT

-A OUTPUT -o lo -j ACCEPT

-A OUTPUT -p icmp -j ACCEPT

-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT

-A OUTPUT -s 10.0.0.102 -p tcp -m tcp --sport 80 -j DROP

 

以上这种方法配置后,10.0.0.102可以继续访问,原因是

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT和

-A INPUT -s 10.0.0.102 -p tcp -m tcp --dport 80 -j DROP是同一类规程,当iptables是同一类规程是

它是从上到下匹配的。匹配到以后他就不向下匹配了所以上面一条起作用了,下面的没起作用。

只要把-A INPUT -s 10.0.0.102 -p tcp -m tcp --dport 80 -j DROP放到

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT上面就行了

 

 

Nat共享上网 eth0:内网网卡,eth1:外网网卡

首先要开启转发功能

-A FORWARD -s 10.0.12.100 -m mac --mac-source 00:0A:EB:FE:BE:9f -i eth0 -j ACCEPT ip地址和mac地址捆绑

-A FORWARD -d 10.0.12.100 -m limit --limit 7/s --limit-burst 7  -i eth1 -j ACCEPT 限制下载、上网速度

然后配置nat表的postrouting

iptables -t nat -A POSTROUTING -s 10.0.12.100 -j SNAT --to-source 122.224.70.246(静态的配置方法)

iptables -t nat -A POSTROUTING -s 10.0.12.100 -o eth0(ppp0) -j MASQUERADE(动态的用)

 

 

/bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql

/usr/local/www/bin/httpd -k start

 

 

升级内核和iptables的方法:

http://hi.baidu.com/tr106/blog/item/b8aed92dc1875b3d359bf7cb.html

分享到:
评论

相关推荐

    Iptables中文使用指南

    第一章序言部分除了第三...第五章和第六章是iptables命令使用方法的详细介绍。 第七章与第八章是实例讲解,对我们编写自己的规则很有指导意义的,强烈建议你看一看。 附录里有一些资源链接是很好的,相信你一定会喜欢。

    Kylin-Iptables防火墙配置方法

    Kylin_Iptables防火墙配置方法

    iptables配置(/etc/sysconfig/iptables)操作方法

    下面小编就为大家带来一篇iptables配置(/etc/sysconfig/iptables)操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Linux操作系统下IPTables配置方法详解

    Linux操作系统下IPTables配置方法详解.doc

    iptables命令实例

    iptables 命令实例 本文档主要介绍了 Linux 中的iptables 命令的实例,涵盖了 iptables 的基本用法、规则设定、端口控制、NAT 转发等方面的...通过本文档,读者可以了解到 iptables 命令的使用方法和常用的规则设定。

    iptables的用法,用iptables封IP的方法

    iptables的用法,用iptables封IP的方法,安装,启动,关闭

    附件_Linux系统iptables配置方法.pdf

    本知识点将详细介绍Linux系统下iptables配置的步骤、方法和注意事项。 ### iptables配置基础 在配置iptables之前,了解几个基本术语非常重要,它们分别是源地址(SRC)、目的地址(DST)、协议(PROTO)、源端口...

    Linux iptables Pocket Refrence

    - **iptables Matches and Targets(iptables匹配条件与目标)**:提供了各种匹配条件和目标的使用方法。 #### 七、获取帮助和支持 - **Getting Help(获取帮助)**:书中还提供了获取帮助的方法,如查看手册页、...

    iptables详解

    #### 六、iptables常见问题及解决方法 - **无法访问内部服务**: 如果外部用户无法访问内部服务,请检查相应的iptables规则是否正确配置。 - **性能问题**: 复杂的iptables规则集可能会导致性能下降。定期审查和优化...

    iptables 高级使用研讨

    ### iptables 高级使用研讨知识点详解 #### 1. 基础部分 ##### 1.1 REDIRECT与DNAT的区别...通过上述知识点的学习,可以更加深入地理解iptables的工作原理及其高级使用方法,这对于网络管理员来说是非常宝贵的技能。

    使用Linux系统Iptables防火墙

    Linux kernel使用netfilter对进出的数据包进行过滤,netfilter由三个规则表组成,每个表又有许多内建的链组成。通过使用iptables命令可以对...本文介绍了Netfilter规则表,阐述了Ubuntu Server中的Iptables配置方法。

    iptables 使用总结

    总结了iptables原理,在各个场景下的使用方法,并给出了sh脚本的实现过程

    防火墙白名单设置方法_iptables_centos6

    防火墙白名单设置方法_iptables_centos6 防火墙白名单设置方法_iptables_centos6 防火墙白名单设置方法_iptables_centos6

    iptables-1.4.7-19.el6.x86_64.rpm(for Centos6)

    CentOS6 64位(ipv4 only,如需ipv6请私信我)iptables防火墙安装rpm文件,安装方法: rpm -ivh iptables-1.4.7-19.el6.x86_64.rpm or yum localinstall -y iptables-1.4.7-19.el6.x86_64.rpm 启动: service ...

    centos6 iptables常用操作

    以上介绍了CentOS 6中iptables的基本使用方法及其常用操作。正确配置iptables规则对于提高系统的安全性至关重要。需要注意的是,在实际部署过程中,应根据具体需求灵活调整规则,并确保不会影响到必要的网络通信。

    网络安全课程设计之D防火墙——Iptables.docx

    实验内容:1)使用 iptables 制定规则,包括添加、修改、保存和删除规则等。 2)使用通用匹配条件和扩展匹配条件定义 iptables 规则。 3)在 iptables 中添加、管理和删除自定义链。 实验环境:虚拟机 VMware 或 ...

    利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法

    下面小编就为大家带来一篇利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    关于新版CenterOS7配置redis出现iptables错误的解决方法

    关于新版CenterOS7配置redis出现redisiptables错误的解决方法, 排除/etc/rc.d/init.d/iptables: No such file or directory 错误原因 , CentoOS7下配置redis并将端口通过防火墙解决方法;

    iptables高级应用实战案例

    通过本知识点的学习,读者将掌握iptables中SNAT和DNAT的原理和配置方法,了解如何通过iptables实现复杂的网络地址转换,以及如何为网络流量设置安全策略,确保网络访问的安全和稳定。这些技能对于网络管理员来说非常...

    新装linux系统/etc/sysconfig目录下无iptables文件的解决方法

    下面小编就为大家带来一篇新装linux系统/etc/sysconfig目录下无iptables文件的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Global site tag (gtag.js) - Google Analytics