如何搭建一个中转服务器?Linux下使用Rinetd来实现端口转发

如何搭建一个中转服务器?Linux下端口转发一般都使用iptables来实现,使用iptables可以很容易将TCP和UDP端口从防火墙转发到内部主机上。但是如果需要将流量从专用地址转发到不在您当前网络上的机器上,可尝试另一个应用层端口转发程序Rinetd。Rinetd短小、高效,配置起来比iptables也简单很多。

Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。

安装

通过包安装

CentOS

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

配置三方源

32位系统

  1. $ vim /etc/yum.repos.d/nux-misc.repo
  2. [nux-misc]
  3. name=Nux Misc
  4. baseurl=http://li.nux.ro/download/nux/misc/el6/i386/
  5. enabled=0
  6. gpgcheck=1
  7. gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

64位系统

  1. $ vim  /etc/yum.repos.d/nux-misc.repo:
  2. [nux-misc]
  3. name=Nux Misc
  4. baseurl=http://li.nux.ro/download/nux/misc/el6/x86_64/
  5. enabled=0
  6. gpgcheck=1
  7. gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

安装Rinetd

  1. $ yum --enablerepo=nux-misc install rinetd

Ubuntu

  1. $ apt-get install rinetd

编译安装

  1. $ wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
  2. $ mkdir  -p /usr/man/man8   #默认会把man文件放么/usr/man/man8下面,如果没有这个目录会报目前不存在,但不影响使用. 
  3. $ make && make install

配置

配置端口转发的配置文件在/etc/rinetd.conf

配置文件格式

  1. [bindaddress] [bindport] [connectaddress] [connectport]
  2. 绑定的地址    绑定的端口  连接的地址      连接的端口
  3. [Source Address] [Source Port] [Destination Address] [Destination Port]
  4. 源地址            源端口         目的地址               目的端口
  5. 在每一单独的行中指定每个要转发的端口。源地址和目的地址都可以是主机名或IP地址,IP 地址0.0.0.0将rinetd绑定到任何可用的本地IP地址上。例如:0.0.0.0 8080 www.hi-linux.com 80

配置规则

  1. $ vim /etc/rinetd.conf
  2. 0.0.0.0 8080 172.19.94.3 8080
  3. 0.0.0.0 2222 192.168.0.103 3389
  4. 1.2.3.4 80 192.168.0.10 80
  5. allow *.*.*.*
  6. 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

脚本启动

  1. $ /etc/init.d/rinetd start

手动启动

编译安装不自带脚本

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

关闭rinetd

脚本关闭

  1. $ /etc/init.d/rinetd stop

手动关闭

编译安装不自带脚本

  1. $ pkill rinetd

注意事项

1.rinetd.conf中绑定的本机端口必须没有被其它程序占用

2.运行rinetd的系统防火墙应该打开绑定的本机端口

3.不支持FTP的跳转

天 下 数 据是一家专注于国内外服务器十几年专业的IDC服务商,多样化产品适合多种业务使用,如外贸,网站,游戏等等。详情咨询客服400-638-8808,官网www.idcbest.com

本文链接:https://www.idcbest.com/cloundnews/11006787.html



天下数据手机站 关于天下数据 联系我们 诚聘英才 付款方式 帮助中心 网站备案 解决方案 域名注册 网站地图

天下数据18年专注海外香港服务器、美国服务器、海外云主机、海外vps主机租用托管以及服务器解决方案-做天下最好的IDC服务商

《中华人民共和国增值电信业务经营许可证》 ISP证:粤ICP备07026347号

朗信天下发展有限公司(控股)深圳市朗玥科技有限公司(运营)联合版权

深圳总部:中国.深圳市南山区深圳国际创新谷6栋B座10层 香港总部:香港上環蘇杭街49-51號建安商業大廈7樓

7×24小时服务热线:4006388808香港服务电话:+852 67031102

本网站的域名注册业务代理北京新网数码信息技术有限公司的产品

工商网监图标