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" ]

192655500.jpg

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

目录
相关文章
|
Linux
Linux rsyslog占用内存CPU过高解决办法
该文档描述了`rsyslog`占用内存过高的问题及其解决方案。
1648 4
|
10月前
|
人工智能 自然语言处理 Cloud Native
AI生成CAD图纸(云原生CAD+AI让设计像聊天一样简单)
本项目探索AI与在线CAD融合,通过MxCAD原子化API和智能体系统,实现“用自然语言绘图”。支持多模型、安全沙箱运行,提升设计效率。
AI生成CAD图纸(云原生CAD+AI让设计像聊天一样简单)
|
11月前
|
机器学习/深度学习 JSON API
1688图片识别商品接口API使用指南
1688图片识别商品API基于深度学习技术,支持上传图片或URL,精准识别1688平台商品信息,涵盖标题、链接、价格、供应商等。适用于批发采购、货源匹配等场景,具备高精度、低延迟、强兼容特性,支持主流图片格式,遵循RESTful规范,助力开发者高效对接1688商品生态。
|
缓存 前端开发 JavaScript
《解锁Spline:低代码3D设计的前端开发秘籍》
3D交互体验正成为网页应用的核心亮点,Spline作为一款低代码3D设计工具,为前端开发者提供了高效开发的解决方案。本文深入探讨了Spline的基础操作、资源管理、交互设计、与前端框架集成以及性能优化等关键技巧。通过合理控制模型复杂度、优化材质纹理、实现流畅交互,并结合React或Vue等框架,开发者可打造高性能、跨平台的沉浸式3D应用,提升用户体验。掌握这些技巧,能让Spline的潜力得到充分发挥,推动3D网页应用的创新与发展。
736 12
|
11月前
|
缓存 监控 算法
API网关性能调优
本文系统讲解API网关性能调优全链路实战,涵盖选型(MSE vs 自建)、限流算法、缓存策略、超时配置、负载均衡、监控告警、熔断降级、安全防护、压测方法及百万QPS真实案例,助力构建高并发、高可用网关架构。
671 0
|
11月前
|
运维 供应链 编译器
国产芯片生态:从设计到量产,到底难在哪?
国产芯片生态:从设计到量产,到底难在哪?
556 7
|
12月前
|
安全 算法 网络安全
高防CDN可以防御DDOS攻击吗
总结起来说,在面对日益严重的网络安全威胁时,高防CDN是一个非常有效且必要的工具。它不仅可以提升网站访问速度、改善用户体验,并且还能有效地抵御DDoS等多种形式网络攻击。
2517 13
|
存储 监控 安全
如何精准高效做好网站安全防护?一文解读
如何精准高效做好网站安全防护?一文解读
507 4
联通骨干网线路介绍
中国联通作为中国主要的基础电信运营商之一,其骨干网从1994年成立起经历了多次演进。最初建设的联通B网(UNINET)主要用于2G/3G移动业务;1999年出现的169网(China169),由邮电部基于CNCNET与中国电信部分骨干网合并而成,后被新联通接管,成为普通网民的重要选择;同年成立的中国网通公用互联网(CNCNET),即后来的联通A网(CUII),专注于高速稳定的国际国内互联及大客户专线服务。目前,联通形成了“China169+CUII”的双网格局,标志着其网络向现代化、智能化和全球化迈进。
1829 0
联通骨干网线路介绍
|
网络协议 Shell Linux
使用NPS内网穿透图文详细教程
使用NPS内网穿透图文详细教程
6165 2