端口映射工具 redir/socat/xinetd - 運維技術 - 開源中國社區

端口映射工具 redir/socat/xinetd - 運維技術 - 開源中國社區mysql

    端口映射工具 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則更強大,支持ipv四、ipv六、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來管理端口映射簡單太完美了!
相關文章
相關標籤/搜索