端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区

端口映射工具 redir/socat/xinetd
    10人收藏此文章, 我要收藏 发表于3天前(2013-08-30 14:09) , 已有96次阅读 ,共0个评论

过去习惯每台服务器都有外网IP,等服务器数量增多之后有所收敛。迎面而来的需要就是:服务好一个大内网。

NAT网关,通常用iptables实现,但性能很差不适合用于生产环境。可通过硬件设备或小米开源的dsnat完成。

端口映射的需求也常有,通过也是用iptables实现。可是iptables太重,性能是个大问题,且每次更新都需要重启。

此时,我们需要一个工具来实现端口映射。如果纯粹是HTTP协议,那么直接用Nginx即可。像MySQL、MongoDB之类则不适用。Google一翻,答案知晓:redir 、socat 。

其中 redir 只支持TCP协议,但使用非常简单。比如将外网的2669端口映射对内网1台MySQL服务器,一键搞定:
    view source
    print?
    1    redir --lport=2669 --caddr=10.58.66.32 --cport=3306

还有一点高级功能就去自行查阅帮助吧。

socat则更强大,支持ipv4、ipv6、tcp、udp、unix-socks、socket等等了。出于“The simpler the better”的观念,恭喜redir入围!

如果映射量比较大,需要易维护、搞攻击,就必须想到xinted了。配置 /etc/xinetd.d/mysql-portmap 如下:
    view source
    print?
    01    service mysql-portmap {
    02        id = 1
    03        disable = no
    04        type = UNLISTED
    05        socket_type = stream
    06        protocol = tcp
    07        wait = no
    08        redirect = 10.33.66.88 3306
    09        bind = 183.68.36.138
    10        port = 2669
    11        user = nobody
    12        group = nobody
    13        flags = NODELAY KEEPALIVE NOLIBWRAP IPv4
    14        log_type = FILE /data/log/xinetd/tcp-portmap.log
    15        cps = 100 30
    16    }

每个映射可以有独立配置文件来管理,修改只需要reload即可!当受到攻击时,在系统日志 /var/log/messages 中会看到:

xinetd[26269]: Starting reconfiguration
        xinetd[26269]: Swapping defaults
        xinetd[26269]: readjusting service rsync
        xinetd[26269]: service mysql-portmap deactivated
        xinetd[26269]: mysql-portmap: svc_release with 0 count
        xinetd[26269]: Reconfigured: new=1 old=1 dropped=1 (services)
        xinetd[26269]: Deactivating service mysql-portmap due to excessive incoming connections.  Restarting in 10 seconds.
        xinetd[26269]: Activating service mysql-portmap

用xinetd来管理端口映射简单太完美了!

端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区的更多相关文章

  1. 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS) - lxcong的运维技术 - 开源中国社区

    突破LVS瓶颈,LVS Cluster部署(OSPF + LVS) - lxcong的运维技术 - 开源中国社区 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)

  2. [转]p2p端口映射工具 dog-tunnel

    [转]p2p端口映射工具 dog-tunnel http://www.oschina.net/p/dog-tunnel 狗洞是一个高速的 P2P 端口映射工具,同时支持Socks5代理. 0.5版后开 ...

  3. linux下搭建redis内网端口映射工具-rinetd

    最近在工作中使用到了redis缓存,用来提某些业务场景的计算速度和某些情况下的操作频率限制,客户端工具使用了redisDesktopmanager来管理,在本机操作测试的时候,是没有问题的.但是将系统 ...

  4. 亲爱的,我是一条Linux运维技术学习路径呀。

    根据我的经验,人在年轻时,最头疼的一件事就是决定自己这一生要做什么.在这方面,我倒没有什么具体的建议:干什么都可以,但最好不要写小说,这是和我抢饭碗.总而言之,干什么都是好的:但要干出个样子来,这才是 ...

  5. 技术沙龙|京东云DevOps自动化运维技术实践

    自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...

  6. 沙龙报名 | 京东云DevOps——自动化运维技术实践

    随着互联网技术的发展,越来越多企业开始认识DevOps重要性,在企业内部推进实施DevOps,期望获得更好的软件质量,缩短软件开发生命周期,提高服务稳定性.但在DevOps 的实施与落地的过程中,或多 ...

  7. Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!

    Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...

  8. 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点

    WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...

  9. CNUTCon2017全球运维技术大会(持续更新中) - 斯达克学院 - 实战驱动的 IT 教育平台 - Powered By EduSoho

    CNUTCon2017全球运维技术大会(持续更新中) - 斯达克学院 - 实战驱动的 IT 教育平台 - Powered By EduSoho   https://new.stuq.org/cours ...

随机推荐

  1. ActiveMQ持久化方式(转)

    消息持久性对于可靠消息传递来说应该是一种比较好的方法,有了消息持久化,即使发送者和接受者不是同时在线或者消息中心在发送者发送消息后宕机了,在消息 中心重新启动后仍然可以将消息发送出去,如果把这种持久化 ...

  2. 【数位DP】 HDU 4722 Good Numbers

    原题直通车: HDU  4722  Good Numbers 题意: 求区间[a,b]中各位数和mod 10==0的个数. 代码: #include<iostream> #include& ...

  3. 免解压版的Mysql的启动脚本,并且执行导入(windows)

    @echo off rem ################### set MYSQL_VERSION=mysql-5.5.32-win32 set LOCK=wot.lock rem ####### ...

  4. fzu 2035 Axial symmetry(枚举+几何)

    题目链接:fzu 2035 Axial symmetry 题目大意:给出n个点,表示n边形的n个顶点,判断该n边形是否为轴对称图形.(给出点按照图形的顺时针或逆时针给出. 解题思路:将相邻两个点的中点 ...

  5. Godiva_百度百科

    Godiva_百度百科 北京 三里屯 北京市朝阳区三里屯路19号院10号楼一层S10-13单元及二层S10-22单元 100027 北京朝阳大悦城北京市朝阳区朝阳北路101号朝阳大悦城1号商业楼1F- ...

  6. 男性在下一100层【第三层】——高仿手机银行client接口

    前言: 从<男性在下一100层>系列博文[二楼]现在出版了整整三个月后,.从上述观点和这么多朋友的意见还是比较喜欢真实类的博文. 毕竟我们都叫"攻城狮".所以要看是否这 ...

  7. Linux账号管理(二)

    再次声明,整理此系列Linux博客,主要目的不是介绍各种命令,而是去探索命令背后的理论. 本篇主要介绍用户的创建与删除. 创建用户主要用到useradd命令,在用此命令时可以指定各种参数.一般默认就可 ...

  8. [置顶] Jsp中的table多表头导出excel文件

    首先引入两份JS:copyhtmltoexcel.js以及 tableToExcel.js /* * 默认转换实现函数,如果需要其他功能,需自行扩展 * 参数: * tableID : HTML中Ta ...

  9. C语言深度解剖读书笔记(6.函数的核心)

    对于本节的函数内容其实就没什么难点了,但是对于函数这节又涉及到了顺序点的问题,我觉得可以还是忽略吧. 本节知识点: 1.函数中的顺序点:f(k,k++);  这样的问题大多跟编译器有关,不要去刻意追求 ...

  10. net析构函数对垃圾回收的影响

    net析构函数对垃圾回收的影响 之前忘了说了 代码都是在Release模式下运行的,现在补充上. 这里说析构函数,其实并不准确,应该叫Finalize函数,Finalize函数形式上和c++的析构函数 ...