通過rinetd實現埠轉發來訪問內網的服務
阿新 • • 發佈:2018-11-28
通過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