《socket的IP_TRANSPARENT选项实现代理》中,介绍了IP_TRANSPARENT可以使得保留源IP地址的方法,但是使用了ip_conntrack,我们知道ip_conntrack是要么全部conntrack,要么一个不conntrack的,除非你使用了notrack target,但是判决到底使不使用notrack也需要一番功夫,有没有什么办法可以不使用ip_conntrack却又可以使用IP_TRANSPARENT的呢?因为写到了这里,答案显然是有的,那就是TPROXY,这个TPROXY其实也是一个Netfilter模块,它就是平添了一次查找,那就是一个流是不是本地socket相关的,和ip_conntrack没有关系,不过依然要针对每一个数据包的五元组来查找一下是否属于本地的一个socket,看起来显然这是一个轻量级的ip_conntrack(这只是第一印象,到底怎么回事,这里不说,测试了才知道ip_conntrack是多么的高效)。

本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1268927

TPROXY与ip_conntrack相关推荐

  1. linux 报错 ip_conntrack version 2.4 (8192 buckets, 65536 max) - 304 bytes per conntrack 解决方法

    linux的iptables防火墙使用了ip_conntrack 内核模块实现连接跟踪功能,所有的进出数据包都会记录在连接跟踪表中,包括tcp,udp,icmp等,一旦连接跟踪表被填满以后,就会发生丢 ...

  2. linux ip_conntrack 连接满导致网络丢包

    我们的线上web服务器在访问量很大时,就会出现网络连接丢包的问题,通过dmesg命令查看日志,发现如下信息: kernel: ip_conntrack: table full, dropping pa ...

  3. iptables连接跟踪ip_conntrack

    一.ip_conntrack模块介绍: ip_conntrack 是Linux NAT一个跟踪连接条目的模块记录着允许的跟踪连接条目ip_conntrack 模块会记录 tcp 通讯协议的 estab ...

  4. 如何扩展Linux的ip_conntrack

    Linux中有一个基于Netfilter的连接跟踪机制,即ip_conntrack,每一个conntrack表示的就是一个流,该流里面保存了大量的信息字段,这些字段本地有效,指导着数据包的转发策略,但 ...

  5. tproxy_Linux使用TPROXY进行UDP的透明代理

    1.为什么使用TPROXY才能代理UDP 在进行TCP的代理时,只要在NET表上无脑进行REDIRECT就好了.例如使用ss-redir,你只要把tcp的流量redirect到ss-redir监听的端 ...

  6. iptables:tproxy做透明代理

    什么是透明代理 客户端向真实服务器发起连接,代理机冒充服务器与客户端建立连接,并以客户端ip与真实服务器建立连接进行代理转发.因此对于客户端与服务器来说,代理机都是透明的. 如何建立透明代理 本地so ...

  7. ip_conntrack: table full, dropping packet的问题

    最近一个web系统经常报出如下日志信息: Apr 17 16:37:26 www kernel: printk: 135 messages suppressed. Apr 17 16:37:26 ww ...

  8. ip_conntrack: falling back to vmalloc解决办法

    我之前写过一篇文章,描述如何修改ip_conntrack模块的hashsiz以避免iptables丢包,修改hashsize有两种方法: 1. 一是向/etc/modprobe.conf中增加 opt ...

  9. linux ip_conntrack_max,解?Linux NAT ip_conntrack: table full的方法

    解?Linux NAT ip_conntrack: table full的方法 发布时间:2007-09-07 00:28:48来源:红联作者:DominSer 原本Linux NAT用得好好的,没想 ...

最新文章

  1. s-sed(stream editor) 文本填充和编辑 基本使用
  2. JS和JSP之间值传递
  3. 【学习笔记】24、文件的其他操作
  4. C++设计模式--简单工厂模式
  5. Chrome Extension Dark Theme
  6. 微课|中学生可以这样学Python(例9.1):Excel导入SQLite(1)
  7. ORACLE:索引中丢失IN或OUT参数
  8. WinSCP 连接 Ubuntu 拒绝的问题
  9. 滤波器带宽,信号带宽 和晶振PPM(误差)的关系
  10. 板级电源究竟该怎么选型芯片?(实战篇)
  11. matlab伴随矩阵怎么表示,怎样用Matlab求矩阵的伴随矩阵
  12. PS可以快速批量修改图片尺寸吗?
  13. 思维模型 波士顿矩阵
  14. Intel Thunderbolt 3 接口介绍
  15. 基于JavaWeb的果蔬生鲜交易系统
  16. python字母表_Python 一句话生成字母表的方法
  17. 第1部分 基础算法(提高篇)--第1章 贪心算法1425:【例题4】加工生产调度
  18. 计算机毕业设计Java服装连锁店后台管理系统(源码+系统+mysql数据库+lw文档)
  19. 5G标准化进程加速:高通下半年启动新空口试验及互操作性测试
  20. 学习笔记-如何设计离线跑批系统

热门文章

  1. python如何并发上千个get_用greenlet实现Python中的并发
  2. 联想杜比音效_联想小新15 2020锐龙版开售
  3. 2fsk基于matlab的仿真,基于matlab的2ask、2psk、2fsk的仿真
  4. linux查看文件隐藏字符,Linux使用cat命令显示隐藏字符的方法
  5. python 链式比较 2._特色的Python序列解包、链式赋值、链式比较
  6. pycharm 选择变量画图_pycharm画图并显示
  7. 弹出框口登录php代码,如何用JQuery写出登录弹出框
  8. aix解压tgz_AIX 上压缩与解压缩 各种文件格式原理说明
  9. MYSQL二级表的管理_MySQL分区表的管理~2
  10. IDEA 配置 Docker