iptables初学者入门

    技术2025-11-02  13

    三个概念: 1.规则(rules)处理数据包时要满足的条件以及做出的动作 2.链(chains)包传播的路径,有若干规则需要校验 3.表(tables)提供特定功能,包括3个表filter,nat和mangle表   (1)filter表,是iptables的默认表,filter表只能对包进行接收、丢弃的操作,其中包含:      input链(处理进入的数据包)      forword链(处理转发的数据包)      output链(处理本地生成的数据包)   (2)nat表,实现nat网络地址一对一,一对多,多对多的转换,包含:      prerouting链(修改即将到来的数据包)      output链(修改在路由之前本地生成的数据包)      postrouting链(修改即将出去的数据包)   (3)mangle表,对数据包进行某些内容的修改,包含:      input链(处理进入的数据包)      output链(修改在路由之前本地生成的数据包)      prerouting链(修改在路由之前进入的数据包)      forword链(修改正处理转发的数据包)      postrouting链(修改即将出去的数据包) 基本操作: 关闭防火墙:输入 setup 选择 Firewall configuration 选择禁用 一般格式: iptables [-t 表] -命令  匹配  操作 表:指定内置表,filter表、nat表和mangle表。 命令:插入、删除、添加规则。       -P --policy <链名>   定义默认策略       -L --list   <链名>   查看iptables规则列表       -A --append <链名>   在规则列表的最后增加1条规则         -I --insert <链名>   在指定的位置插入一条规则       -D --delete <链名>   从规则列表中删除一条规则       -R --replace<链名>   替换规则列表中的某条规则       -F --flush  <链名>   删除表中所有规则       -Z --zero   <链名>   将表中数据包计数器和流量计数器归零 匹配:       -i --in-interface  <网络接口名>   指定数据包从哪个网络接口进入,例ppp0、eth0、eth1等       -o --out-interface <网络接口名>   指定数据包从哪块网络接口输出,例ppp0、eth0、eth1等       -p --proto         <协议类型>     指定数据包匹配的协议       -s --source        <原地址或子网> 指定数据包匹配的源地址       --sport            <源端口号>     指定数据包匹配的端口号,可指定范围,例"起始端口号:结束端口号"       -d --destination   <目标地址或子网>指定数据包匹配的目标地址       --dport 目标端口号                指定数据包匹配的目标端口号,可指定范围,"起始端口号:结束端口号" 动作:      ACCEPT         接受数据包      DROP           丢弃数据包      REDIRECT       将数据包重新转向到本机或另一台主机的某个端口,多用于透明代理      SNAT           源地址转换,即改变数据包的源地址      DNAT           目标地址转换,即改变数据包的目标地址      MASOUERADE     IP伪装,即常说的NAT技术,只能用于ADSL等动态分配IP的,若为静态IP则用SNAT      LOG            日志功能,将符合规则的数据包的相关信息记录到日志中 定义默认策略     iptables [-t 表名] <-P> <链名> <动作>     [-t 表名]: 指默认策略应用于哪个表,filter,nat和mangle,默认为filter表 未完待续......

    最新回复(0)