Linux下使用Rinetd來實現端口轉發

Linux下端口轉發通常都使用iptables來實現,使用iptables能夠很容易將TCP和UDP端口從防火牆轉發到內部主機上。可是若是須要將流量從專用地址轉發到不在您當前網絡上的機器上,可嘗試另外一個應用層端口轉發程序Rinetd。Rinetd短小、高效,配置起來比iptables也簡單不少。linux

Rinetd是爲在一個Unix和Linux操做系統中爲重定向傳輸控制協議(TCP)鏈接的一個工具。Rinetd是單一過程的服務器,它處理任何數量的鏈接到在配置文件etc/rinetd中指定的地址/端口對。儘管rinetd使用非閉鎖I/O運行做爲一個單一過程,它可能重定向不少鏈接而不對這臺機器增長額外的負擔。vim

安裝

  • 經過包安裝服務器

CentOS網絡

官方源中不具備Rinetd,因此須要先安裝三方源。app

配置三方源ide

32位系統工具

$ vim /etc/yum.repos.d/nux-misc.repo

[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el6/i386/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

64位系統url

$ vim  /etc/yum.repos.d/nux-misc.repo:

[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el6/x86_64/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

安裝Rinetdspa

$ yum --enablerepo=nux-misc install rinetd

Ubuntu操作系統

$ apt-get install rinetd
  • 編譯安裝

$ wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
$ mkdir  -p /usr/man/man8   #默認會把man文件放麼/usr/man/man8下面,若是沒有這個目錄會報目前不存在,但不影響使用. 
$ make && make install

配置

配置端口轉發的配置文件在/etc/rinetd.conf

配置文件格式

[bindaddress] [bindport] [connectaddress] [connectport]
綁定的地址    綁定的端口  鏈接的地址      鏈接的端口

[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址            源端口         目的地址               目的端口

在每一單獨的行中指定每一個要轉發的端口。源地址和目的地址均可以是主機名或IP地址,IP 地址0.0.0.0將rinetd綁定到任何可用的本地IP地址上。例如:0.0.0.0 8080 www.hi-linux.com 80

配置規則

$ vim /etc/rinetd.conf

0.0.0.0 8080 172.19.94.3 8080
0.0.0.0 2222 192.168.0.103 3389
1.2.3.4 80 192.168.0.10 80
allow *.*.*.*
logfile /var/log/rinetd.log

說明

0.0.0.0表示本機綁定全部可用地址
將全部發往本機8080端口的請求轉發到172.19.94.3的8080端口
將全部發往本機2222端口的請求轉發到192.168.0.103的3389端口
將全部發往1.2.3.4的80端口請求轉發到192.168.0.10的80端口
allow設置容許訪問的ip地址信息,*.*.*.*表示全部IP地址
logfil設置打印的log的位置

運行

  • 啓動Rinetd

腳本啓動

$ /etc/init.d/rinetd start

手動啓動

編譯安裝不自帶腳本

$ /usr/sbin/rinetd -c /etc/rinetd.conf
  • 關閉rinetd

腳本關閉

$ /etc/init.d/rinetd stop

手動關閉

編譯安裝不自帶腳本

$ pkill rinetd
  • 注意事項

1.rinetd.conf中綁定的本機端口必須沒有被其它程序佔用2.運行rinetd的系統防火牆應該打開綁定的本機端口3.不支持FTP的跳轉

相關文章
相關標籤/搜索