linux 设置mysql端口转发_linux使用socat进行端口转发,支持tcp/udp数据转发
端口转发程序已经介绍过rinetd了,但是rinetd不支持域名动态解析功能,如果域名对应的ip发生改变,需要重新才能重新加载新的地址。这里自然找到了端口转发工具socat,它完美的解决了动态dns的问题。且由于工作模式的不同,socat的转发效率更高。
socat是一个长期维护的项目,rinetd已经很久没有更新了。如果只有少数几个端口需要转发,socat将是非常不错的选择。socat长期维护所以可以直直接在线支持redhat/centos/debian等发行版本。
socat项目
socat安装
使用包管理工具进行安装:
#CentOS系统
yum install -y socat
#Ubuntu或Debian系统
apt-get update
apt-get install -y socat
socat的使用
2.1转发TCP流量
nohup socat TCP4-LISTEN:10000,reuseaddr,fork TCP4:1.1.1.1:10000 >> socat.log 2>&1 &
1、TCP4-LISTEN:10000监听ipv4的10000TCP端口,10000改成你自己需要转发的端口;
2、fork TCP4:1.1.1.1:10000`转发到1.1.1.1的10000端口,根据需求修改自行修改ip和端口;
3、nohup后台运行,可以把这个命令写到/etc/rc.local里面开机启动启动。
2.2转发UDP流量
nohup socat -T 600 UDP4-LISTEN:10000,reuseaddr,fork UDP4:1.1.1.1:10000 >> socat.log 2>&1 &
说明对照tcp流量转发,如果想要开机自己动可以将命令吸入到/etc/rc.local。更好的办法是将命令写作shell脚本,开机自启动。
开机自启动
创建一个systemd服务
echo "[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
" > /etc/systemd/system/rc-local.service
创建配置文件:
echo "#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
" > /etc/rc.local
将socat端口转发配置写入文件即可
echo "nohup socat TCP4-LISTEN:10000,reuseaddr,fork TCP4:1.1.1.1:10000 >> /root/socat.log 2>&1 &
nohup socat -T 600 UDP4-LISTEN:10000,reuseaddr,fork UDP4:1.1.1.1:10000 >> /root/socat.log 2>&1 &
" >> /etc/rc.local
附加执行权限
chmod +x /etc/rc.local
加载开机自动并启动服务
systemctl enable rc-local
systemctl start rc-local
总结
socat转发时,流量进程时一对一模式,可以动态伸缩调整,转发效率更加优秀。总体性能比rinetd好,且作为一个长期维护的项目,可以有专业人员修复bug和新增功能。
linux 设置mysql端口转发_linux使用socat进行端口转发,支持tcp/udp数据转发相关推荐
- linux设置mysql root密码_Linux 上安装 Mysql 设置root密码问题
Ubuntu 18.10.1 Mysql 5.7.26-0 安装mysql apt-get install mysql-server 安装完可以直接使用,但是新版本在安装过程中没有提示设置root用户 ...
- UDP数据转发解决WiFi与有限以太网之间控制命令传递:RGBLink
简 介: 针对RGBLink有线入网的特点,使用了一台中间工控机做了有线.无线之间的转接.利用了sokit软件完成UDP数据转发,可以利用TEASOFT软件自动控制RGBLink设备. 关键词: RG ...
- 8月11日 网工学习 APR协议 传输层协议 TCP UDP 数据封装转发全过程
目录 APR协议 传输层协议 TCP UDP 数据封装转发全过程 APR协议 作用:将IP地址解析为MAC地址 ARP的主要内容 在ARP高速缓存表中查找目的IP地址对应的MAC地址 广播发送ARP请 ...
- linux 把mysql大小写关闭_linux中设置mysql大小写不去区分方法
linux中设置mysql大小写不去区分方法 发布时间:2020-05-14 12:01:31 来源:亿速云 阅读:191 作者:三月 本文主要给大家介绍linux中设置mysql大小写不去区分方法, ...
- linux下mysql目录结构_linux下mysql安装配置与目录结构
本节内容: linux下mysql安装与配置.mysql目录结构. 1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rp ...
- linux与mysql的关系_linux系统mysql简介
linux系统mysql初始 初级:1.mysql安装 中级:数据库管理员DBA 1) 用户管理 1.用户权限的管理 2.管理可以操作库和表 3.用户名 4.管理来源IP 5.用户的密码 grant ...
- linux下mysql服务架设_linux下源码搭建php环境之mysql(一)
现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主 ...
- linux上mysql卸数_Linux下MySQL卸载和安装图文教程
Linux下MySQL卸载和安装图文教程 发布时间:2020-09-02 08:43:17 来源:脚本之家 阅读:59 作者:伊宇紫 第一次写博客,做了两年的开发,工作之余给自己找点有意义的事做,分享 ...
- linux安装mysql.rpm软件包_Linux环境安装MySQL数据库(RPM格式的软件包)
1. 下载mysql安装包 2.解压已下载的mysql安装包,安装包根据自己需要进行安装.(本人使用mysql 5.5版本测试) 3.先检查本机是否有安装mysql数据库,再使用rpm命令进行安装, ...
最新文章
- 资料分享:送你一本《数据结构(C#语言版)》电子书!
- Python机器学习入门资料整理
- MindCon | 杭京宁三大战场即将启动,火速来战!
- golang channel 管道
- Vue.js 生产环境部署
- 音乐社交APP源码ios版
- Java核心(三):代码块的作用
- python学多久能写东西的软件有哪些_怎么自学python,大概要多久?
- 如何判断当前循环的栏目是不是最后一个
- 用Siri显示二维码, iOS11, INGetVisualCodeIntent
- 机器学习:监督学习、无监督学习、强化学习
- KITTI数据集详解
- 解决win10计算机管理中没有本地用户和组
- 网易互娱2022校园招聘在线笔试-游戏研发工程师(第一批)
- b站视频突破2倍方法,3倍?4倍?可以开10倍!!!
- 小红书笔记下沉怎么做到的?
- 【Java程序设计】GUI的JTable的一些应用
- Android 8.1 中Systemui中的常见修改(六)NavigationBar加载流程
- NB无信号以及无法连接网络问题分析及解决
- Android 统一打包框架(附源码下载)