Linux IPTABLS

Firewall
 组件,工作在网络边缘(主机边缘),对进出本网络的数据包基于一定的规则进行检查,并在匹配到某规则时由规则定义的处理机制进行处理的

 七层:代理防火墙
 三层:包过滤防火墙

 ralated  状态检测
 edstablish 已建立连接

 数据包进入主机时先送入内核

 通过系统调用将规则送入内核

 防火墙基于tcp/ip协议栈检查

 hook function

 Netfilter 过滤 功能框架
  INPUT
  OUTPUT
  FORWARD
 NAT
  PREROUTING
  POSTROUTING
  OUTPUT
 mangle
  INPUT
  OUTPUT
  FORWARD
  PREROUTING
  POSTROUTING
 RAW
  PREROUTING
  OUTPUT

 PREROUTING 路由前
 INPUT 到本机内部
 OUTPUT 主机到外部的
 FORWARD 转发
 POSTROUTING 路由后


iptables [-t table] command CHAIN链 [NUM] match cretiaria匹配条件 -j TARGET

 -t table
  filter
  nat
  mangle
  raw

 command:
  CHAIN:
   -N 新建一条规则链
    iptables -N attach-input
    
   -X 删除一条用户自定义的链,只能删除空链
   -F 清空链中规则,
   -Z 清空计数器 每个规则有两个计数器,一个记录本条规则匹配到的数据包的个数 一个用来记录本条规则匹配到的数据包大小之和
   -P 定义默认处理策略
   -E

  RULE:
   -A 追加
   -I 插入 
    -I CHAIN num
   -R 替换
    -R CHAIN NUM
   -D 删除
    -D CHAIN NUM

  List:
   -L 列出链中所有规则
    -n 以数字显示地址
    -v -vv -vvv 显示详细信息
    -x 显示原有信息不要换算
    --line-numbers 显示规则中行号


 Match Creteria:
  基本匹配
   -s,--src,--source 匹配源地址
   -d,--dst,--destination 匹配目标地址
   -i   指定数据包的流入接口(逻辑接口)
   -o   指定数据包的流出接口(逻辑接口)
   -p,protocol,[tcp|udp|icmp] 协议匹配
 
  扩展匹配

   隐含扩展
    -p tcp
     --sport
     --dport
     --tcp-flags SYN,ACK,FIN,RST SYN ->检查SYN,ACK,FIN,RST标志,其中SYN位必须为1,ACK,FIN,RST为0,其他无所谓(SYN,ACK,FIN,PSN,URG,RST,ALL,NONE) tcp的标志位
     --syn
    -p udp
     --sport 
     --dport
    -p icmp
     --icmp-type echo-request,8 echo-reply,0
   显式扩展
    -m
     iptables -I INPUT 1 -d 192.168.0.97 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
     iptables -I OUTPUT 1 -s 192.168.0.97 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
     NEW新的连接,ESTABLISHED,RELATED,INVALID无法识别状态
   /etc/sysconfig/iptables-config

    -m myltiport 最多15个
     --sports 22,80,443
     --dports
     --ports

    -m connlimit
     --connlimit-above 最多并发连接 (限制迅雷)
      ! --connlimit-above 5

    -m string
     iptables -A INPUT -d 192.168.0.97 -p tcp --dport 80 -m string --string text -j DROP
    -m time  结束时间不能小于起始时间
     --timestart HH:MM
     --timestop HH:MM
 -j TARGET
  ACCEPT
  DROP
  REJECT
  SNAT
  DNAT
  MASQUERADE 地址伪装
  REDIRECT 端口重定向
  LOG


ssh,tcp,22,s:192.168.0.0,目标此目标机器地址

iptables -t filter -A INPUT -s 192.168.0.0/24 -d 192.168.0.97 -p tcp --dport 22 -j ACCEPT
iptables -t filter -A OUTPPUT -s 192.168.0.97 -d 192.168.0.0/24 -p tcp --sport 22 -j ACCEPT
iptables -t filter -I INPUT -s 127.0.0.1 -d 127.0.0.0/8 -j ACCEPT
iptables -t filter -I OUTPUT -s 127.0.0.1 -d 127.0.0.0/8 -j ACCEPT
iptables -t filter -P INPUT DROP 设置默认策略
iptables -t filter -P OUTPUT DROP
iptables -t filter -A OUTPUT -s 192.168.0.97 -d 0.0.0.0 -p icmp --icmp-type 0 -j ACCEPT
iptables -t filter -A INPUT -s 0.0.0.0 -d 192.168.0.97 -p icmp --icmp-type 8 -j ACCEPT

-s '!' 192.168.0.0/24

iptables -L -n -v
iptables -L -n --line-numbers

PING 回应0 请求8
策略:
 通,堵


service iptables save iptables保存


/porc/sys/net/ipv4_ipforward  1打开  0关闭
route add default gw 192.168.158.129
route add -net 192.168.158.0/24 gw 192.168.0.25
route del -net 192.168.158.0/24

 

layer7-filter

netfilter,iptables

gcc GNU C Complier
make
glibc


./configure --prefix=/usr/local/NAME
make(头文件,库文件)
 头文件
  include <math.h>
  /usr/include
  /usr/local/include
  ln -sv /uar/local/NAME/include /usr/include/NAME/
make install


二进制,/usr/local/NAME/bin,/usr/local/NAME/sbin,/usr/local/NAME/libexec
库文件,/usr/local/NAME/lib
配置文件,/usr/local/NAME/etc
帮助文件,/usr/local/NAME/share

# /usr/local/NAME/bin/AAA

# PATH=$PATH:/usr/local/NAME/bin/:/usr/local/NAME/sbin/  设置默认环境变量

系统默认寻找库文件的路径:/lib,/usr/lib,/usr/local/lib
/etc/id.so.conf
/etc/id.so.conf.d/*.conf

# idconfig -v 


帮助文件 man可以看到的手册

man的配置文件 --> /etc/man.config
   MANPATH  man命令的寻找路径

/etc/init.d/iptables save

service iptables save

/etc/sysconfig/iptables
/etc/sysconfig/iptables

iptables-save > /etc/sysconfig/iptables/iptables.2011012401 保存iptables

iptables-restore < /etc/sysconfig/iptables/iptables.2011012401  调用iptables

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值