iptables小总结
2015-07-01 12:12
435 查看
1、iptables四表五链
2、常用操作命令
命令格式:iptables [-t表] -命
-A(append):追加一条规则
-I(insert):插入一条规则
-D(delete):删除一条规则,例如:iptables –D INPUT 3,删除第三条规则
-F(flush):清空规则
-L(list):列出规则,使用-vnL来显示比较好
-P(policy):设置某链默认规则配条件
-i:进入接口
-o:出去接口址,例如:-s 192.168.1.0/24,可单IP
-d:目的地址
-p:协议类型(tcp、udp、icmp)
–sport:来源端口,例如:–sport 1000:,匹配源端口1000以上的,也可以1000:3000指定范围
–dport:目的端口
4、动作
ACCEPT:允许数据包通过
DROP:阻止数据包通过
REJECT:拒绝数据包通过,并返回报错信息
SNAT:应用nat表的POSTROUTING链,进行源地址转换,可单个、一组IP
DNAT:应用nat表的PREROUTING链,进行目的地址转换,可单个、一组IP
MASQUERADE:动态源地址转换,动态IP时使用
例如ADSL拨号上网:
5、附加模块
state:包状态匹配,例如:
(NEW 第一个数据包状态,RELATED 该数据包已经或将启动新的连接,当一个连接和某个已处于ESTABLISHED状态的连接有关系时,就是RELATED状态,像FTP连接。ESTABLISHED 已建立连接的状态,INVALID 该数据包与已知的连接都不相关联)
mac:来源MAC地址匹配
limit:包速率匹配
multiport:多端口匹配,端口以逗号分隔
6、防止小量攻击
预防CC、DOS攻击,限制每个IP的并发连接数:
允许已经建立连接的访问
–connlimit-above 30 限制并发连接数
预防DDOS攻击,限制每个IP每秒并发连接数:
7、配置NAT映射
内网访问外网(SNAT):
公网访问内网(DNAT):
公网端口映射内网端口:
将本机80端口转发到本地8080端口:
8、用户基本配置示例
#允许来自于lo接口的数据包,如果没有此规则,你将不能通过127.0.0.1访问本地服务
四个表: filter:用于过滤 nat:用于nat功能(端口映射,地址映射等) mangle:用于对特定数据包的修改 raw:一般不让iptables做数据包的链接跟踪处理 五个链: INPUT:匹配目的地址为本机的 OUTPUT:向外转发的 FORWARD:需要经过本机的数据包 PREROUTING:路由前,用于修改目的地址(DNAT) POSTROUTING:路由后,用于修改源地址(SNAT)
2、常用操作命令
命令格式:iptables [-t表] -命
-A(append):追加一条规则
-I(insert):插入一条规则
-D(delete):删除一条规则,例如:iptables –D INPUT 3,删除第三条规则
-F(flush):清空规则
-L(list):列出规则,使用-vnL来显示比较好
-P(policy):设置某链默认规则配条件
-i:进入接口
-o:出去接口址,例如:-s 192.168.1.0/24,可单IP
-d:目的地址
-p:协议类型(tcp、udp、icmp)
–sport:来源端口,例如:–sport 1000:,匹配源端口1000以上的,也可以1000:3000指定范围
–dport:目的端口
4、动作
ACCEPT:允许数据包通过
DROP:阻止数据包通过
REJECT:拒绝数据包通过,并返回报错信息
SNAT:应用nat表的POSTROUTING链,进行源地址转换,可单个、一组IP
DNAT:应用nat表的PREROUTING链,进行目的地址转换,可单个、一组IP
MASQUERADE:动态源地址转换,动态IP时使用
例如ADSL拨号上网:
iptables–t nat –A POSTROUTING –s 192.168.1.0/24 –o pppo –j MASQUERADE
5、附加模块
state:包状态匹配,例如:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
(NEW 第一个数据包状态,RELATED 该数据包已经或将启动新的连接,当一个连接和某个已处于ESTABLISHED状态的连接有关系时,就是RELATED状态,像FTP连接。ESTABLISHED 已建立连接的状态,INVALID 该数据包与已知的连接都不相关联)
mac:来源MAC地址匹配
limit:包速率匹配
multiport:多端口匹配,端口以逗号分隔
6、防止小量攻击
预防CC、DOS攻击,限制每个IP的并发连接数:
允许已经建立连接的访问
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
–connlimit-above 30 限制并发连接数
iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j REJECT
预防DDOS攻击,限制每个IP每秒并发连接数:
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
7、配置NAT映射
echo "1" > /proc/sys/net/ipv4/ip_forward
内网访问外网(SNAT):
iptables –t nat -A PREROUTING -i eth0 -d 172.0.0.10 -j DNAT --to 192.168.0.100
公网访问内网(DNAT):
iptables–t nat -A PREROUTING -d 172.0.0.10 -p tcp --dport 80 -j DNAT --to 192.168.0.100 iptables -t nat -A POSTROUTING -d 192.168.0.100 -p tcp --dport 80 -j SNAT --to 172.0.0.10
公网端口映射内网端口:
iptables -t nat -A PREROUTING -d 172.0.0.10 -p tcp --dport 80 -j DNAT --to 192.168.0.100:8080 iptables -t nat -A POSTROUTING -d 192.168.0.100 -p tcp --dport 8080 -j SNAT --to 172.0.0.10
将本机80端口转发到本地8080端口:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
8、用户基本配置示例
iptables -F iptables -t nat -F iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -m multiport --dports 22,80,8080 -j ACCEPT iptables -A INPUT -p udp -m multiport --dports 53 -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT -p icmp -j DROP iptables -A INPUT -i lo -j ACCEPT
#允许来自于lo接口的数据包,如果没有此规则,你将不能通过127.0.0.1访问本地服务
iptables -P INPUT DROP
相关文章推荐
- SQLSERVER2008 忘记SA密码且windows账号无法登录的解决办法
- 7z在mac上的命令行
- Cheatsheet: 2015 06.01 ~ 06.30
- Windows 10还有这功能? 自动与好友分享WiFi密码
- JavaScript -- 使用JavaScript生成JSON格式的字符串
- Arc GIS engine10.2与VS2012的安装及匹配步骤
- VC 和 Halcon 之间的互相赋值
- PHP 解决版本问题:"Assigning the return value of new by reference is deprecated"
- Sharepoint list webpart
- Android开源项目第一篇——个性化控件(View)篇 收藏的
- 朗夫小编个人成长记
- leetcode--JumpGame
- centos 7 使用KVM建虚拟机,但只能使用ROOT目录下的空间。
- Python脚本01 —— 批量修改png图片文件名,增加@3x后缀
- 在JavaScript应用中使用RequireJS来实现延迟加载
- C语言中运算符的优先级排序
- FFmpeg深入分析之零-基础
- 在阿里云上配置服务器,安装jdk+tomcat+mysql的过程
- windows7 64位如何调出debug
- PHP函数实现从一个文本字符串中提取关键字的方法