Centos7下Rinetd安裝與應用

weixin_34321977發表於2016-05-29

    Linux下做地址NAT有很多種方法。比如haproxy、nginx的4層代理,linux自帶的iptables等都能實現。haproxy、nginx就不說了,配置相對簡單;iptables配置複雜,概念也比較多DNAT、SNAT、PREROUTING、POSTROUTING等等。其實,Linux下有一個叫rinetd的工具,安裝簡單,配置也不復雜。

安裝篇

1、下載,解壓,安裝

[root@zhenyunode zhenyutest]# cd ~/zhenyutest/
[root@zhenyunode zhenyutest]# wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
[root@zhenyunode zhenyutest]# tar -xvf ~/zhenyutest/rinetd.tar.gz
[root@zhenyunode zhenyutest]# cd ~/zhenyutest/rinetd/
[root@zhenyunode rinetd]# sed -i 's/65536/65535/g' rinetd.c
[root@zhenyunode rinetd]# mkdir /usr/man/
[root@zhenyunode rinetd]# make && make install
cc -DLINUX -g   -c -o rinetd.o rinetd.c
rinetd.c:176:6: 警告:與內建函式‘log’型別衝突 [預設啟用]
   void log(int i, int coSe, int result);
        ^
cc -DLINUX -g   -c -o match.o match.c
gcc rinetd.o match.o -o rinetd
install -m 700 rinetd /usr/sbin
install -m 644 rinetd.8 /usr/man/man8
[root@zhenyunode rinetd]#

2、建立配置檔案

[root@zhenyutest rinetd]# vi /etc/rinetd.conf
0.0.0.0 8080 192.168.31.22 8080

配置檔案格式很簡單:[Source Address] [Source Port] [Destination Address] [Destination Port]

3、啟動、關閉程式

啟動:
[root@zhenyunode rinetd]# rinetd -c /etc/rinetd.conf
[root@zhenyunode ~]# ps -ef | grep rinetd
root     27346 27300  0 12:34 pts/1    00:00:00 grep --color=auto rinetd
root     32186     1  0 5月16 ?       00:00:00 rinetd -c /etc/rinetd.conf

停止:
[root@zhenyunode rinetd]# killall rinetd

4、校驗

root@zhenyunode rinetd]# netstat -tanulp|grep rinetd
tcp        0      0 0.0.0.0:8080           0.0.0.0:*               LISTEN      32186/rinetd  

 

應用篇

    由上圖所示,由於物理網路原因,各個機房並不能夠互通,但均可以訪問網際網路,這種情況下,要遠端操作某個機房中的內部管理介面就非常困難了。上圖中,每個機房中均有一臺踏板機,能夠連線到公有云中的一臺vpn伺服器上,並獲得相應的IP,192.168.222.x。這樣,在總控制處,只要某臺機器也能登陸到相應的vpn伺服器上,就相當於同各個機房中的踏板機同處於一個內網中。

    例如,機房A的踏板機上配置了rinetd服務,配置的規則為:0.0.0.0 8080 192.168.31.22 8080(將本機8080埠轉發至內網192.168.31.22:8080 的zabbix伺服器),這樣,在總控制處,通過連線192.168.222.3:8080 即可訪問到機房A中的zabbix服務。

 

相關文章