zoukankan      html  css  js  c++  java
  • iptables

    当收到一个数据包时先进入PREROUTING链,这时数据包还未经过路由判断;通过PREROUTING链之后就要做路由判断,这时若数据包目的ip是本机ip,那么主机就接收这个数据包,接下来数据包经过INPUT链进入主机;若这时数据包目的地址不是本机ip,则将该数据包转向FORWARD链,这时主机上层是不知道有这个包经过的;

    发送数据包时先通过OUTPUT链,完成路由判断之后到达POSTROUTING链。

    -A 向规则链中添加一条规则,默认被添加到末尾

     
    -T 指定要操作的表,默认是filter
     
    -D 从规则链中删除规则,可以指定序号或者匹配的规则来删除
     
    -R 进行规则替换
     
    -I 插入一条规则,默认被插入到首部
     
    -F 清空所选的链,重启后恢复
     
    -N 新建用户自定义的规则链
     
    -X 删除用户自定义的规则链
     
    -p 用来指定协议可以是tcp,udp,icmp等也可以是数字的协议号,
     
    -s 指定源地址
     
    -d 指定目的地址
     
    -i 进入接口
     
    -o 流出接口
     
    -j 采取的动作,ACCPT,DROP,SNAT,DNAT,MASQUERADE
     
    --sport 源端口
     
    --dport 目的端口,端口必须和协议一起来配合使用
     
     
    使用规则实现对一台内网主机的网页代理。例,通过访问A电脑的未开放的4567端口,实际可以访问到B电脑的80端口上的网页
     

    #!/bin/sh
    src_ip="192.168.10.220"
    proxy_ip="192.168.10.146"
    dest_ip="166.111.4.100"
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -F
    iptables -t nat -A PREROUTING -d $proxy_ip -p tcp -m tcp --dport 4567 -j DNAT --to-destination $dest_ip:80
    iptables -t nat -A POSTROUTING -d $dest_ip -p tcp -m tcp --dport 80 -j SNAT --to-source $proxy_ip:4567
    iptables -t nat -A PREROUTING -d $proxy_ip -p tcp -m tcp --sport 80 -j DNAT --to-destination $src_ip
    iptables -t nat -A POSTROUTING -d $src_ip -p tcp -m tcp --sport 80 -j SNAT --to-source $proxy_ip:4567

  • 相关阅读:
    ROS和H3C,华为的端口汇聚方式
    wifi6 802.11ax技术标准 值得期待但无需等待!
    免信用卡更改Apple ID地区
    pip install失败报错解决方案
    黑产-起底身份倒卖产业:那些被公开叫卖的人生
    黄金
    jupyter nootbook本地使用指南
    current account(经常账户)
    outlier异常值检验原理和处理方法
    随机逻辑回归random logistic regression-特征筛选
  • 原文地址:https://www.cnblogs.com/ailx10/p/5608788.html
Copyright © 2011-2022 走看看