当前位置: 首页 > news >正文

Centos7下Rinetd安装与应用

    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服务。

 

 

转载于:https://www.cnblogs.com/zhenyuyaodidiao/p/5540209.html

相关文章:

  • Python3 捕捉异常
  • GCD 和Timer
  • iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
  • 如何设置电脑的固定IP地址
  • 优质博士的养成之道——对话2015微软学者奖学金获得者
  • 小凡带你搭建本地的光盘yum源
  • Retrofit get post query filed FiledMap
  • ActiveMQ集群应用
  • 拉格朗日插值法
  • 在Mysql中如何显示所有用户?
  • 第十五周 6.6 --- 6.12
  • 主键外键练习
  • 最适合初学者的语言是什么?
  • mybatis+springmvc+jbpm4整合配置
  • 企业集群平台架构实现与应用实战
  • 4. 路由到控制器 - Laravel从零开始教程
  • Android 架构优化~MVP 架构改造
  • angular2开源库收集
  • Octave 入门
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • 从0到1:PostCSS 插件开发最佳实践
  • 翻译--Thinking in React
  • 关于Flux,Vuex,Redux的思考
  • 区块链将重新定义世界
  • 深入浏览器事件循环的本质
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 再次简单明了总结flex布局,一看就懂...
  • 带你开发类似Pokemon Go的AR游戏
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • # Panda3d 碰撞检测系统介绍
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (02)Hive SQL编译成MapReduce任务的过程
  • (9)STL算法之逆转旋转
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • .bat批处理(六):替换字符串中匹配的子串
  • .jks文件(JAVA KeyStore)
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET与 java通用的3DES加密解密方法
  • @javax.ws.rs Webservice注解
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [.net] 如何在mail的加入正文显示图片
  • [1204 寻找子串位置] 解题报告
  • [ACM] hdu 1201 18岁生日