linux防火墙iptables常用规则Word文档下载推荐.docx
- 文档编号:17359497
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:7
- 大小:56.43KB
linux防火墙iptables常用规则Word文档下载推荐.docx
《linux防火墙iptables常用规则Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《linux防火墙iptables常用规则Word文档下载推荐.docx(7页珍藏版)》请在冰豆网上搜索。
#1.允许HTTP连接:
80端口
iptables-AINPUT-ieth0-ptcp--dport80-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport80-mstate--stateESTABLISHED-jACCEPT
#2.允许HTTPS连接:
443端口
iptables-AINPUT-ieth0-ptcp--dport443-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport443-mstate--stateESTABLISHED-jACCEPT
允许从本地发起HTTPS连接
本规则可以允许用户从本地主机发起HTTPS连接,从而访问Internet。
iptables-AOUTPUT-oeth0-ptcp--dport443-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AINPUT-ieth0-ptcp--sport443-mstate--stateESTABLISHED-jACCEPT
类似的,你可以设置允许HTTP协议(80端口)。
-mmultiport:
指定多个端口
通过指定-mmultiport选项,可以在一条规则中同时允许SSH、HTTP、HTTPS连接:
iptables-AINPUT-ieth0-ptcp-mmultiport--dports22,80,443-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp-mmultiport--sports22,80,443-mstate--stateESTABLISHED-jACCEPT
允许出站DNS连接
iptables-AOUTPUT-pudp-oeth0--dport53-jACCEPT
iptables-AINPUT-pudp-ieth0--sport53-jACCEPT
允许NIS连接
如果你在使用NIS管理你的用户账户,你需要允许NIS连接。
即使你已允许SSH连接,你仍需允许NIS相关的ypbind连接,否则用户将无法登陆。
NIS端口是动态的,当ypbind启动的时候,它会自动分配端口。
因此,首先我们需要获取端口号,本例中使用的端口是853和850:
rpcinfo-p|grepypbind
然后,允许连接到111端口的请求数据包,以及ypbind使用到的端口:
iptables-AINPUT-ptcp--dport111-jACCEPT
iptables-AINPUT-pudp--dport111-jACCEPT
iptables-AINPUT-ptcp--dport853-jACCEPT
iptables-AINPUT-pudp--dport853-jACCEPT
iptables-AINPUT-ptcp--dport850-jACCEPT
iptables-AINPUT-pudp--dport850-jACCEPT
以上做法在你重启系统后将失效,因为ypbind会重新指派端口。
我们有两种解决方法:
1.为NIS使用静态IP地址
2.每次系统启动时调用脚本获得NIS相关端口,并根据上述iptables规则添加到filter表中去。
允许来自指定网络的rsync连接请求
你可能启用了rsync服务,但是又不想让rsync暴露在外,只希望能够从内部网络(192.168.101.0/24)访问即可:
iptables-AINPUT-ieth0-ptcp-s192.168.101.0/24--dport873-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport873-mstate--stateESTABLISHED-jACCEPT
允许来自指定网络的MySQL连接请求
你可能启用了MySQL服务,但只希望DBA与相关开发人员能够从内部网络(192.168.100.0/24)直接登录数据库:
iptables-AINPUT-ieth0-ptcp-s192.168.100.0/24--dport3306-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport3306-mstate--stateESTABLISHED-jACCEPT
允许Sendmail,Postfix邮件服务
邮件服务都使用了25端口,我们只需要允许来自25端口的连接请求即可。
iptables-AINPUT-ieth0-ptcp--dport25-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport25-mstate--stateESTABLISHED-jACCEPT
允许IMAP与IMAPS
#IMAP:
143
iptables-AINPUT-ieth0-ptcp--dport143-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport143-mstate--stateESTABLISHED-jACCEPT
#IMAPS:
993
iptables-AINPUT-ieth0-ptcp--dport993-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport993-mstate--stateESTABLISHED-jACCEPT
允许POP3与POP3S
#POP3:
110
iptables-AINPUT-ieth0-ptcp--dport110-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport110-mstate--stateESTABLISHED-jACCEPT
#POP3S:
995
iptables-AINPUT-ieth0-ptcp--dport995-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport995-mstate--stateESTABLISHED-jACCEPT
防止DoS攻击
iptables-AINPUT-ptcp--dport80-mlimit--limit25/minute--limit-burst100-jACCEPT
∙-mlimit:
启用limit扩展
∙–limit25/minute:
允许最多每分钟25个连接
∙–limit-burst100:
当达到100个连接后,才启用上述25/minute限制
三、转发与NAT
允许路由
如果本地主机有两块网卡,一块连接内网(eth0),一块连接外网(eth1),那么可以使用下面的规则将eth0的数据路由到eht1:
iptables-AFORWARD-ieth0-oeth1-jACCEPT
DNAT与端口转发
以下规则将会把来自422端口的流量转发到22端口。
这意味着来自422端口的SSH连接请求与来自22端口的请求等效。
#1.启用DNAT转发
iptables-tnat-APREROUTING-ptcp-d192.168.102.37--dport422-jDNAT--to-destination192.168.102.37:
22
#2.允许连接到422端口的请求
iptables-AINPUT-ieth0-ptcp--dport422-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport422-mstate--stateESTABLISHED-jACCEPT
假设现在外网网关是xxx.xxx.xxx.xxx,那么如果我们希望把HTTP请求转发到内部的某一台计算机,应该怎么做呢?
iptables-tnat-APREROUTING-ptcp-ieth0-dxxx.xxx.xxx.xxx--dport8888-jDNAT--to192.168.0.2:
80
iptables-AFORWARD-ptcp-ieth0-d192.168.0.2--dport80-jACCEPT
当该数据包到达xxx.xxx.xxx.xxx后,需要将该数据包转发给192.168.0.2的80端口,事实上NAT所做的是修改该数据包的目的地址和目的端口号。
然后再将该数据包路由给对应的主机。
但是iptables会接受这样的需要路由的包么?
这就由FORWARD链决定。
我们通过第二条命令告诉iptables可以转发目的地址为192.168.0.2:
80的数据包。
再看一下上例中422端口转22端口,这是同一IP,因此不需要设置FORWARD链。
SNAT与MASQUERADE
如下命令表示把所有10.8.0.0网段的数据包SNAT成192.168.5.3的ip然后发出去:
iptables-tnat-APOSTROUTING-s10.8.0.0/24-oeth0-jsnat--to-source192.168.5.3
对于snat,不管是几个地址,必须明确的指定要snat的IP。
假如我们的计算机使用ADSL拨号方式上网,那么外网IP是动态的,这时候我们可以考虑使用MASQUERADE
iptables-tnat-APOSTROUTING-s10.8.0.0/255.255.255.0-oeth0-jMASQUERADE
负载平衡
可以利用iptables的-mnth扩展,及其参数(–counter0–every3–packetx),进行DNAT路由设置(-APREROUTING-jDNAT–to-destination),从而将负载平均分配给3台服务器:
iptables-APREROUTING-ieth0-ptcp--dport443-mstate--stateNEW-mnth--counter0--every3--packet0-jDNAT--to-destination192.168.1.101:
443
iptables-APREROUTING-ieth0-ptcp--dport443-mstate--stateNEW-mnth--counter0--every3--packet1-jDNAT--to-destination192.168.1.102:
iptables-APREROUTING-ieth0-ptcp--dport443-mstate--stateNEW-mnth--counter0--every3--packet2-jDNAT--to-destination192.168.1.103:
自定义的链
记录丢弃的数据包
#1.新建名为LOGGING的链
iptables-NLOGGING
#2.将所有来自INPUT链中的数据包跳转到LOGGING链中
iptables-AINPUT-jLOGGING
#3.指定自定义的日志前缀"
IPTablesPacketDropped:
"
iptables-ALOGGING-mlimit--limit2/min-jLOG--log-prefix"
--log-level7
#4.丢弃这些数据包
iptables-ALOGGING-jDROP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 防火墙 iptables 常用 规则