Centos7下Rinetd安裝與應用


    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服務。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM