frigga+redir实现高性能端口映射

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/1307041

一、前言

公司的数据库、windows机器都没有外网IP的,都是用一台linux机器的iptables做的nat映射,当机器多了会发现iptables就成了性能瓶颈,于是找到了redir这个端口映射工具,此工具只支持http协议的哦,性能比iptables强多了,redir用了几天发现有时候进程会莫名其妙掉了,所以找到了小米开源的进程管理工具frigga,二者结合一切搞定。

二、软件安装配置

1、redir安装配置

A、redir安装


1

yum -y install redir

B、redir配置


1

redir --lport=对外提供服务端口 --caddr=需要映射的内网IP --cport=要映射的内网端口

2、frigga安装配置

A、frigga安装


1

2

3

4

5

6

7

8

9

10

11

12

13

#install ruby

yum -y install ruby gems

#update ruby

curl -L https://get.rvm.io | bash -s stable

source  /etc/profile

rvm install ruby-1.9.3

#安装bundle

gem install bundle

#install frigga

cd /opt/

git clone https://github.com/xiaomi-sa/frigga.git

cd /opt/frigga

./script/run.rb start

B、frigga配置


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

添加一条映射例子:

cd /opt/frigga/gods/

vi 10.10.10.10_3389.god 内容如下:

God.watch do |w|

w.name = " proxy.kisops.com-9004__10.10.10.10-3389__WindowsOpVm "

w.start = " redir  --lport=9004 --caddr=10.10.10.10 --cport=3389  --debug "

w.process_log = " /data/log/redir/10.10.10.10_3389.log "

w.keepalive

w.:clean_pid_file)

w.stop_timeout  = 60.seconds

w.lifecycle do |on|

on.condition(:flapping) do |c|

c.to_state = [:start, :restart]

c.times = 5

c.within = 5.minute

c.transition = :unmonitored

c.retry_in = 10.minutes

c.retry_times = 5

c.retry_within = 2.hours

c.notify = 'proc_down'

end

end

end

God.contact(:email) do |c|

c.name = 'proc_down'

c.group = 'developers'

c.to_email = "navyaijm@ijinshan.com"

end

#启动

god load 10.10.10.10_3389.god

说明:

##生成配置文件,以.god后缀结尾,参考配置文件如下,需要修改的我标红

##name格式: proxy.kisops.com-外网端口__内网IP-内网端口__用途

##start格式:  redir --lport=外网端口  --caddr=内网IP  --cport=内网端口  --debug

##log格式:  /data/log/redir/内网IP_端口.log

##当进程异常,会导致god不断重启

###使用:flapping条件

##5分钟内start或者restart进程 5次,如果启动失败,修改状态为unmonitored

##10分钟后再次尝试启动,如果2个小时内,尝试5次都失败,彻底放弃

3、frigga的访问端口、账号信息定义


1

2

3

4

[root@localhost conf]# cat /opt/frigga/conf/frigga.yml

---

port: 9000

http_auth: ["admin""123456"]

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/1307041

时间: 2024-09-30 13:54:05

frigga+redir实现高性能端口映射的相关文章

android模拟器与PC的端口映射(转)

阅读目录 一.概述 二.实现步骤 回到顶部 一.概述 Android系统为实现通信将PC电脑IP设置为10.0.2.2,自身设置为127.0.0.1,而PC并没有为Android模拟器系统指定IP,所以PC电脑不能通过IP来直接访问Android模拟器,要实现PC机和Android模拟器之间的相互通信必须借助于端口重定向(redir). 回到顶部 二.实现步骤 1.安装telnet 什么是telnet? Telnet协议是TCP/IP协议族的一员,是Internet远程登录服务的标准协议和主要方

组网经验:端口映射的几种实现方法

采用端口映射(Port Mapping)的方法,可以实现从Internet到局域网内部机器的特定端口服务的访问.笔者总结了在教学与组网实践中采用的几种端口映射方法,在此与大家交流探讨. 利用IIS实现WWW和FTP服务的重定向 Windows 2000和Windows XP都包含了IIS组件,其中的WWW和FTP服务具有主目录重定向设置,与端口映射相比,虽名称不同但作用类似.本文以Windows 2000下IIS 5.0的WWW和FTP服务举例说明. 1.WWW服务的重定向 打开管理工具中的In

内网如何做端口映射

由于公网IP地址有限,不少ISP都采用多个内网用户通过代理和网关路由共用一个公网IP上INTERNET的方法,这样就限制了这些用户在自己计算机上架设个人网站,要实现在这些用户端架设网站,最关键的一点是,怎样把多用户的内网IP和一个他们唯一共享上网的IP进行映射!就象在局域网或网吧内一样,虽然你可以架设多台服务器和网站,但是对外网来说,你还是只有一个外部的IP地址,怎么样把外网的IP映射成相应的内网IP地址,这应该是内网的那台代理服务器或网关路由器该做的事,对我们用私有IP地址的用户也就是说这是我

TP-Link td8830路由器端口映射的配置过程

配置过程 在IE地址栏中输入"192.168.10.200"并"回车",在弹出的登录对话框中输入默认管理用户名和密码"root"进入管理界面.并在管理界面左侧的菜单栏中选择"Basic Config→PAT",进入端口映射配置对话框.在该对话框中,点击"Add"按钮添加新的映射项目. 1.在"Protocol"(协议)栏中,我们可以选择两种协议:TCP和UDP.由于Web服务和FTP服务

cisco路由器端口映射的配置

测试环境: cisco路由器内网接口f0/1: 192.168.1.1 255.255.255.0 外网接口f0/0: 10.0.0.1 255.255.255.0 服务器ip:192.168.1.100 首先到路由器上配置: Router>en #进入特权模式 Router#conf t #进入全局配置模式 Enter configuration commands, one per line. End with CNTL/Z. Router(config)#access-list 1 perm

路由器端口映射的原理及设置方法

端口映射其实就是我们常说的NAT地址转换的一种,其功能就是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网.这时ADSL的外部地址只有一个,比如61.177.0.7. 而内部的IP是私有地址,比如ADSL设为192.168.0.1,下面的电脑就依次设为192.168.0.2到192.168.0.254. 在宽带路由器上如何实现NAT功能呢?一般路由器可以采用虚拟服务器的设置和开放主机(DMZ Ho

路由器端口映射的作用及在思科设备的配置

采用端口映射(Port Mapping)的方法,可以实现从Internet到局域网内部机器的特定端口服务的访问.例如,你所使用的机子处于一个连接到Internet的局域网内,你在机子上所开的所有服务(如FTP),默认情况下外界是访问不了的.这是因为你机子的IP是局域网内部IP,而外界能访问的只有你所连接的服务器的IP,由于整个局域网在Internet上只有一个真正的IP地址,而这个IP地址是属于局域网中服务器独有的.所以,外部的Internet登录时只可以找到局域网中的服务器,那你提供的服务当然

6000EV/6005HW ADSL MODEM设置端口映射

在主菜单中点"NAT",会有个"nat channel list",以在内部pc 192.168.1.2上架设web server为例子 ,web的一般默认端口是80,设置如下: 在nat channel list里面的 mupltiple port forwarding里面填写以下内容: action: add channel n1 protocol:tcp incoming port, begin:80, end :80 new port begin:80,en

用端口映射不通过网关开放内网的方法

今天给大家说说如何巧用端口映射,不通过网关开放内网的方法. 一.使用前提 需要有一台公网的IP.假如现在我们有一台公网的P .210.210.21.21 二.用到的工具 1.lcx.exe 2.vdic 三.方法讲解 方法一.用lcx.exe进行映射 (1)我们将lcx.exe传到公网IP上,在公网IP上DOS环境下执行 lcx –listen 端口1 端口2 如lcx –listen 3030 3166 此命令的意思是监听3030端口和3166端口,以便和外部进行连接. (2)将lcx.exe