24个iptables常用示例

正文将付诸24个iptables常用法则示例,那些事例为您提供了些基本的沙盘,您能够依据特定供给对其展开改换调解以高达梦想。  格式

iptables [-t 表名] 选项 [链名] [条件] [-j 调整项目] 参数

 

  1. -P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)
  2. -F 清空规则链
  3. -L 查看规则链
  4. -A 在规则链的末尾加入新规则
  5. -I num 在规则链的头部加入新规则
  6. -D num 删除某一条规则
  7. -s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
  8. -d 匹配目标地址
  9. -i 网卡名称 匹配从这块网卡流入的数据
  10. -o 网卡名称 匹配从这块网卡流出的数据
  11. -p 匹配协议,如tcp,udp,icmp
  12. --dport num 匹配目标端口号
  13. --sport num 匹配来源端口号

示例

1. 剔除已有准则

在始发创设iptables法则在此之前,你可能须要删除本来就有法则。

 

  1. 命令如下:
  2. iptables -F
  3. (or)
  4. iptables –flush

2.设置链的私下认可战术

链的私下认可政策设置为”ACCEPT”(接受卡塔 尔(阿拉伯语:قطر‎,若要将INPUT,FOCR-VWARubiconD,OUTPUT链设置成”DROP”(否决卡塔尔,命令如下:

 

  1. iptables -P INPUT DROP
  2. iptables -P FORWARD DROP
  3. iptables -P OUTPUT DROP

当INPUT链和OUTPUT链都设置成DROP时,对于每四个防火墙法则,大家都应该定义七个法则。举个例子:叁个传唱另多少个传唱。在上面全数的例证中,由于大家已将DROP设置成INPUT链和OUTPUT链的私下认可攻略,每一种状态大家都将制订两条法则。当然,如若您相信您的里边客户,则能够轻松上边的末段生龙活虎行。譬喻:私下认可不废除全体出站的数据包。在这里种情状下,对于每八个防火墙准绳须求,你只须求制订两个平整——只对进站的数量包制订法规。

3. 拦住钦定IP地址

例:吐弃来自IP地址x.x.x.x的包

 

  1. iptables -A INPUT -s x.x.x.x -j DROP
  2. 注:当你在log里发现来自某ip地址的异常记录,可以通过此命令暂时阻止该地址的访问以做更深入分析

例:阻止来自IP地址x.x.x.x eth0 tcp的包

 

  1. iptables -A INPUT -i eth0 -s x.x.x.x -j DROP
  2. iptables -A INPUT -i eth0 -p tcp -s x.x.x.x -j DROP

4. 同意持有SSH的总是央浼

例:允许全数来自外界的SSH连接央求,即只允许步向eth0接口,而且指标端口为22的数据包

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

5. 仅同意来自内定网络的SSH连接央求

例:仅同意来自于192.168.100.0/24域的客户的ssh连接央浼

 

  1. iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

6.允许http和https的总是诉求

例:允许持有来自web - http的三回九转诉求

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

例:允许持有来自web - https的连年须要

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

7. 应用multiport 将四个准则结合在协同

同意七个端口从外面连入,除了为各样端口都写一条独立的规行矩步外,大家能够用multiport将其组合成一条法则。如下所示:  例:允许具有ssh,http,https的流量访谈

 

  1. iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT

8. 同意从地方发起的SSH

 

  1. iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

请留心,那与允许ssh连入的准则略有分歧。本例在OUTPUT链上,我们允许NEW和ESTABLISHED状态。在INPUT链上,大家只允许ESTABLISHED状态。ssh连入的规规矩矩与之相反。

9. 仅同意从地点发起到三个内定的互连网域的SSH诉求

例:仅允许从当中间连接到网域192.168.100.0/24

 

  1. iptables -A OUTPUT -o eth0 -p tcp -d 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

10. 同意从地面发起的HTTPS连接必要

上边包车型地铁规行矩步允许输出安全的网络流量。假使您想同意顾客访谈网络,那是老大有供给的。在服务器上,这一个法则能让您采用wget从表面下载一些文件

 

  1. iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

注:对于HTTP web流量的外联诉求,只须要将上述命令中的端口从443改成80就可以。

11. 负载平衡传入的互联网流量

接受iptables能够兑现传入web流量的载重均衡,大家能够流传web流量负载平衡使用iptables防火墙法规。  例:使用iptables nth将HTTPS流量负载平衡至八个例外的ip地址。

 

  1. iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.101:443
  2. iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 1 -j DNAT --to-destination 192.168.1.102:443
  3. iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 2 -j DNAT --to-destination 192.168.1.103:443

12. 同意外界主机ping内部主机

 

  1. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
  2. iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

13. 同意内部主机ping外界主机

 

  1. iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
  2. iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

14. 允许回环访问

例:在服务器上同意127.0.0.1环绕访问。

 

  1. iptables -A INPUT -i lo -j ACCEPT
  2. iptables -A OUTPUT -o lo -j ACCEPT

15. 同意内部网络域外界网络的通讯

防火墙服务器上的当中四个网卡连接到表面,另二个网卡连接到里面服务器,使用以下法规允许内部互联网与外表互联网的通讯。此例中,eth1连选拔外界网络(网络),eth0连选用内部网络(举例:192.168.1.x)。

 

  1. iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

16. 允许出站的DNS连接

 

  1. iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
  2. iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

17. 允许NIS连接

如若您使用NIS处理客商帐户,你需求允许NIS连接。假如您分歧意NIS相关的ypbind连接乞求,就算SSH连接供给已被允许,客商还是鞭长不比登陆。NIS的端口是动态的,先选择命令rpcinfo –p来驾驭端口号,此例中为853和850端口。  rpcinfo -p | grep ypbind  例:允许来自111端口以致ypbind使用端口的总是央求

 

  1. iptables -A INPUT -p tcp --dport 111 -j ACCEPT
  2. iptables -A INPUT -p udp --dport 111 -j ACCEPT
  3. iptables -A INPUT -p tcp --dport 853 -j ACCEPT
  4. iptables -A INPUT -p udp --dport 853 -j ACCEPT
  5. iptables -A INPUT -p tcp --dport 850 -j ACCEPT
  6. iptables -A INPUT -p udp --dport 850 -j ACCEPT

注:当你重启ypbind之后端口将不一样,上述命令将船到江心补漏迟。有两种缓慢解决方案:1卡塔尔国使用你NIS的静态IP 2卡塔 尔(英语:State of Qatar)编写shell脚本通过“rpcinfo - p”命令自动获取动态端口号,并在上述iptables法则中利用。

18. 同意来自钦点互联网的rsync连接央求

例:允许来自互连网192.168.101.0/24的rsync连接必要

 

  1. iptables -A INPUT -i eth0 -p tcp -s 192.168.101.0/24 --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 873 -m state --state ESTABLISHED -j ACCEPT

19. 同意来自钦点互联网的MySQL连接央求

无数气象下,MySQL数据库与web服务跑在一如既往台服务器上。不经常候我们仅希望DBA和开采职员从当中互联网(192.168.100.0/24卡塔尔直接登入数据库,可尝试以下命令:

 

  1. iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT

20. 同意Sendmail, Postfix邮件服务

Sendmail和postfix都利用了25端口,由此我们只供给允许来自25端口的接连需要就能够。

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT

21. 允许IMAP和IMAPS

例:允许IMAP/IMAP2流量,端口为143

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 143 -m state --state ESTABLISHED -j ACCEPT

例:允许IMAPS流量,端口为993

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 993 -m state --state ESTABLISHED -j ACCEPT

22. 允许POP3和POP3S

例:允许POP3访问

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT

例:允许POP3S访问

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 995 -m state --state ESTABLISHED -j ACCEPT

23. 防止DoS攻击

 

  1. iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
  2. ``
  3. 上述例子中:
  4. -m limit: 启用limit扩展
  5. –limit 25/minute: 允许最多每分钟25个连接(根据需求更改)。
  6. –limit-burst 100: 只有当连接达到limit-burst水平(此例为100)时才启用上述limit/minute限制。

24. 端口转载

例:未来自422端口的流量全体转到22端口。  那象征大家既可以通过422端口又能因而22端口进行ssh连接。启用DNAT转载。

 

  1. iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22

除此而外,还须求允许连接到422端口的乞求

 

  1. iptables -A INPUT -i eth0 -p tcp --dport 422 -m state --state NEW,ESTABLISHED -j ACCEPT
  2. iptables -A OUTPUT -o eth0 -p tcp --sport 422 -m state --state ESTABLISHED -j ACCEPT

25. 记下遗弃的数据表

首先步:新建名称为LOGGING的链

 

  1. iptables -N LOGGING

第二步:将享有来自INPUT链中的数据包跳转到LOGGING链中

 

  1. iptables -A INPUT -j LOGGING

其三步:为这几个包自定义个前缀,命名叫”IPTables Packet Dropped”

 

  1. iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7

第四步:吐弃这几个数据包

 

  1. iptables -A LOGGING -j DROP

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:24个iptables常用示例

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。