1. 程式人生 > >通過rinetd實現埠轉發來訪問內網的服務

通過rinetd實現埠轉發來訪問內網的服務

通過rinetd實現埠轉發來訪問內網的服務

通過rinetd實現埠轉發來訪問內網的服務

官方源中不具有Rinetd,所以需要先安裝三方源。

配置三方源

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位系統

$ 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

安裝Rinetd

$ 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的位置

執行

指令碼啟動

$ /etc/init.d/rinetd start

編譯安裝不自帶指令碼

$ /usr/sbin/rinetd -c /etc/rinetd.conf

加入到開機啟動指令碼中

$ echo rinetd >> /etc/rc.local

$ cat /etc/rc.local

注意事項

.rinetd.conf中繫結的本機埠必須沒有被其它程式佔用
2.執行rinetd的系統防火牆應該開啟繫結的本機埠
3.不支援FTP的跳轉

驗證

# 檢查程序是否啟動

$ ps aux | grep -I rinetd

# 檢查監控的埠是否開啟

$ netstat -tanop | grep 4408