Centos7下Rinetd安装与应用
时间:2016-06-06 00:15 来源:linux.it.net.cn 作者:IT
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服务。
(责任编辑:IT)
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服务。
(责任编辑:IT) |