前言
对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(Access Control List).
这里可以使用Linux防火墙netfilter的用户态工具
iptables有4种表:raw–>mangle(修改报文原数据)–>nat(定义地址转换)–>filter(定义允许或者不允许的规则)
每个表可以配置多个链:
* 对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT
* 对于nat来讲一般也只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING
* 对于mangle是5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
filter表的三个链详解:
* INPUT链: 过滤所有目标地址是本地的数据包
* FORWARD链: 过滤所有路过本机的数据包
* OUTPUT链: 过滤所有由本机产生的数据包
举一反三学习:
Linux中iptables防火墙指定端口范围
一、 700:800 表示700到800之间的所有端口
二、 :800 表示800及以下所有端口
三、 700: 表示700以及以上所有端口
这个例子作用是,700-800端口,仅仅对 11.129.35.45 IP开放,白名单机制。
Snat、Dnat的iptables用途:
源地址转换(Snat): iptables -t nat -A -s 私IP -j Snat –to-source 公IP
目的地址转换(Dnat): iptables -t nat -A -PREROUTING -d 公IP -j Dnat –to-destination 私IP
iptables命令详解
iptables常用的命令选项有:
-P:设置默认策略的(设定默认门是关着的还是开着的)如:iptables -P INPUT (DROP|ACCEPT)
-F: FLASH,清空规则链的(注意每个链的管理权限)
-N:NEW 支持用户新建一个链,比如:iptables -N inbound_tcp_web 表示附在tcp表上用于检查web的。
-X:用于删除用户自定义的空链
-Z:清空链
-A:追加
-I num : 插入,把当前规则插入为第几条
-R num:Replays替换/修改第几条规则
-D num:删除,明确指定删除第几条规则
-L:查看规则详细信息,比如"iptables -L -n -v"
-s 表示源地址IP
-d 表示目标地址IP
DROP 表示丢弃(拒绝)
ACCEPT 表示接受
-p 表示适用协议,如tcp
其他更多例子:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对VEVB武林网的支持。
新闻热点
疑难解答