快速理解iptables入门教程

1、iptables安装 web

通常系统已经自带,没有安装请参照下面安装
(redhat系 ):Yum install iptables
(debian系 )Sudo apt-get install iptables
iptables –version查看版本
iptables v1.4.14 即为 OK,已正常安装。iptables v1.x.x即为版本号。

2、三表五链 服务器

三个表: FilterNAT、Mangle。默认使用Filter。
Filter:用于通常信息包过滤,包含了INPUT、OUTPUT、FORWARD链。
NAT:用于需转发(NAT)的信息包,包含了OUTPUT、PREROUTING、POSTROUTING。
Mangle:包含一些规则来标记用于高级路由,包含PREROUTING和OUTPUT链。如查信息包及其头内进行了任何更改,则使用该表。
五个内置链:
PREROUTING  数据包进入路由表以前,用于修改目的地址(DNAT)。
INPUT  经过路由表后目的地为本机,匹配目的 IP 是本机的数据包。
FORWARD  经过路由表后,目的地不为本机,匹配穿过本机的数据包。
OUTPUT  由本机产生,向外转发。
POSTROUTING  发送到网卡接口以前,用于修改源地址 (SNAT)。
  网络


iptables(netfilter)五条链相互关系 app

 

 
三表五链处理过程当中的位置 工具

3、目标(target) spa

ACCEPT (-j ACCEPT) 当信息包与ACCEPT目标的规则彻底匹配时,会被接受即容许前往目的地,并将中止遍历链。
DROP (-j DROP) 当信息包与DROP目标的规则彻底匹配时,会阻塞该包即丢弃该包。
REJECT (-j REJECT) 该目标工做方式与DROP目标相同,比DROP好的是REJECT不会在服务器和客户机上留下死套接字,并将错误消息发回给信息包的发送方。
RETURN (-j RETURN) 该目标是让与该规则相匹配的信息包中止遍历全部链,若是该链是INPUT之类的链,则使用该链的缺省策略处理该信息包。
还有其它的高级点的目标,如LOG、REDIRECT、MARK、MIRROR和MASQUERADE等。
  rest

4、命令和语法 接口

iptables基本语法
iptables [-t 表名 ] -命令 -匹配 -j 动做/目标
iptables内置了filter、nat和mangle三张表,咱们可使用-t参数来设置对哪张表生效哈~也能够省略-t参数,则默认对filter表进行操做。
命令 (command):
-I (--insert) 插入
-A(--append)追加
-D(--delete)删除
-P(--policy)策略
 
匹配 (match):
-p(--protocol)协议
-s(--source)源
-d(--destination)目标
--in-interface eth1短格式: -i eth1      表示从eth1进
--out-interface eth0 短格式:-o eth0       表示从eth0出
(--sport、--dport)来源端口、目的端口
附加模块使用-m来匹配 
按包状态匹配   (state) 
按来源 MAC 匹配(mac) 
按包速率匹配   (limit) 
多端口匹配   (multiport)
 
配置SNAT命令基本语法
iptables -t nat -A POSTROUTING -o 网络接口 -j SNAT --to-source IP地址
配置DNAT命令基本语法
iptables -t nat -A PREROUTING -i 网络接口 -p 协议 --dport 端口 -j DNAT --to-destination IP地址


5、策略保存 ip

iptables 的保存和自动启动
开机自动启动服务用 chkconfig iptables on
全部 iptables命令都输入后都是当时有效,系统重启后就无效了。
#service iptables save
提示将 iptables规则保存到/etc/sysconfig/iptables 文件中
iptables还提供了保存工具 iptables-save,其实service iptables save也是调用iptables-save,也提供了恢复iptables规则的工具iptables-restore。
 
建议使用统一的 iptables规则文件/etc/sysconfig/iptables(能够是其它位置如/etc/iptables.d/iptables.rule)。
iptables-save > /etc/sysconfig/iptables
iptables-restore < /etc/sysconfig/iptables
 
这个也能实现上面的功能:echo '/sbin/iptables-restore < /etc/sysconfig/iptables' >>/etc/rc.d/rc.local

6、经常使用实用策略 路由

该内容来自其互联网。
注意:确保规则循序正确,弄清逻辑关系,学会时刻使用 -vnL
先开启转发:echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -F       清除预设表filter中的全部规则链的规则
iptables -X      清除预设表filter中使用者自定链中的规则
iptables -Z       清除预设表filter中使用计数器
iptables -F -t nat 
iptables -X -t nat 
iptables -Z -t nat     
可根据需求设置默认策略
iptables –P INPUT DROP
iptables –P FORWARD DROP
iptables –P OUTPUT ACCEPT 
这样默认把INPUT 、FORWARD 设置成DROP,只有OUTPUT是ACCEPT,如须要也能够设置成DROP。

(之后再来完成)按拓扑图进行一个案例设置:

FTP

SSH

MYSQL

NAT1-3389

NAT2-web

相关文章
相关标签/搜索