码迷,mamicode.com
首页 > 其他好文 > 详细

iptables基础知识

时间:2017-05-25 23:25:30      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:连接   实现   network   导入   pre   tor   data-   指定   redirect   

ipfw  ipfwadmin
ipchains ipchains
netfilter  iptables
firewall
防火墙的工作原理:防火墙工作在网络的边缘位置
netfilter/iptables
一、防火墙结构
1、防火墙的规则表
raw:跟踪
mangle:标记
nat:转换
filter:过滤
2、防火墙的规则链
INPUT:入站
OUTPUT:出站
FORWARD:转发
PREROUTING:路由前
POSTROUTING:路由后
3、表和链的对应关系
raw: PREROUTING OUTPUT
mangle: all
nat: PREROUTING OUTPUT POSTROUTING
filter: INPUT OUTPUT FORWARD
4、规则表的应用顺序
raw - mangle - nat - filter
5、规则链的应用顺序
入站数据流:
PREROUTING - INPUT
出站数据流:
OUTPUT - POSTROUTING
转发数据流:
PREROUTING - FORWARD - POSTROUTING
6、规则的应用顺序
a、从上到下依次匹配,匹配即停止(LOG除外)
b、没有匹配项时,采用默认规则(policy规则,只有ACCEPT和DROP)
 
二、防火墙规则
1、语法:
iptables -t 表名 选项 链名 条件匹配 -j 控制类型
 
注意:
不指定表名时,默认是filter表
不指定链名时,默认是所有链
除非设置默认规则,否则必须指定条件
选项、链名、控制类型必须是大写
2、选项:
-A 链尾添加
-I 链首添加
-L 查看
-n 数字形式显示地址信息
-v 显示规则详细信息
--line-number 显示规则序号
-D 删除指定规则
-F 清空所有规则
-P 设置默认规则
-X 清空自定义的链
3、控制类型
ACCEPT 接受
DROP 丢弃
REJECT 拒绝
LOG  日志
REDIRECT 重定向
4、条件匹配
-p 协议类型
-s 源地址 
-d 目标地址
-i 入站网卡
-o 出站网卡
--sport 源端口
--dport 目标端口
--icmp-type 指定icmp协议类型
 
一.SNAT
实现局域网主机共享单个公网IP地址接入Internet
技术分享
 
前提条件:局域网各主机正确配置IP地址/子网掩码
    局域网各主机正确设置默认网关地址
    linux网关支持IP路由地址转发
    网关添加俩块网卡,eth0:内网网卡 eth1:外网网卡
编写SNAT转换规则 source  [s??s] 来源地址
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 218.29.30.31
 
二.MASQUERADE —— 地址伪装
适用于外网IP地址非固定的情况
对于ADSL拨号连接,接口通常为 ppp0、ppp1
将SNAT规则改为MASQUERADE即可
 
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
 
三.DNAT策略的典型应用环境
在Internet中发布位于企业局域网内的服务器
 
DNAT策略的原理
目标地址转换,Destination Network Address Translation
修改数据包的目标地址
技术分享
前提条件
局域网的Web服务器能够访问Internet
网关的外网IP地址有正确的DNS解析记录
Linux网关支持IP路由转发
 
实现方法
编写DNAT转换规则
 
# iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.6
 
发布时修改目标端口
在DNAT规则中以“IP:Port”的形式指定目标地址
 
# iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport  2346 -j DNAT --to-destination 192.168.1.6:22
 
保存和恢复 iptables 规则
防火墙规则只在计算机处于开启状态时才有效。如果系统被重新引导,这些规则就会自动被清除并重设。要保存规则以便今后载入,请使用以下命令:
sbin/service iptables save
保存在 /etc/sysconfig/iptables 文件中的规则会在服务启动或重新启动时(包括机器被重新引导时)被应用。
导出(备份)规则 iptables-save 工具
iptables-save > 1.ip
导入(还原)规则 iptables-restore 工具
iptables-restore < 1.ip
 
技术分享
 
例子
常见的通用匹配条件
协议匹配:-p 协议名
地址匹配:-s 源地址、-d 目的地址
接口匹配:-i 入站网卡、-o 出站网卡
 
# iptables -A FORWARD -s 192.168.1.11 -j REJECT
# iptables -I INPUT -s 10.20.30.0/24 -j DROP
# iptables -I INPUT -p icmp -j DROP
# iptables -A FORWARD -p ! icmp -j ACCEPT
# iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
# iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
 
常用的隐含匹配条件
端口匹配:--sport 源端口、--dport 目的端口
ICMP类型匹配:--icmp-type ICMP类型
 
# iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT
# iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
# iptables -A INPUT -p icmp --icmp-type 8 -j DROP
# iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
# iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
# iptables -A INPUT -p icmp -j DROP
 
常用的显式匹配条件
多端口匹配:-m multiport  --sport 源端口列表
                        -m multiport  --dport 目的端口列表
IP范围匹配:-m iprange --src-range IP范围
MAC地址匹配:-m mac –mac1-source MAC地址
状态匹配:-m state --state 连接状态
 
# iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT
# iptables -A FORWARD -p tcp -m iprange --src-range 192.168.4.21-192.168.4.28 -j ACCEPT
# iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP
# iptables -P INPUT DROP
# iptables -I INPUT -p tcp -m multiport --dport 80 -j  ACCEPT
# iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
 
 
 
 
 
 

iptables基础知识

标签:连接   实现   network   导入   pre   tor   data-   指定   redirect   

原文地址:http://www.cnblogs.com/xinsheng-0415/p/6906284.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!