linux端口转发神器Socat一键配置脚本
浏览量(4999) 时间:2020-08-13
一、概述
目前常用的端口转发工具有rinetd、Haproxy、iptables、Socat前面2种只能转发TCP,后面TCP/UDP都可以转发。如果是需要udp转发的话,只能选择iptables、Socat。iptables方面的转口转发配置这里就不多讲了,网上资料一大堆。下面分享一下Socat使用和配置。
二、安装配置
Socat可以通过rpm包的方式安装,然后配置,下面分享一个更简单的方法,一键部署安装部署脚本。
2.1 系统要求及说明
系统要求:支持CentOS 6+ 、Debian 7+、Ubuntu 14+。
脚本说明:脚本默认开启UDP、TCP转发,带开机自启功能,且一次只能转发单个端口,如果想转发多个端口请重复运行本脚本。
2.2 安装配置
1、脚本安装
wget https://raw.githubusercontent.com/iiiiiii1/Socat/master/socat.sh && bash socat.sh
注:以root用户执行上面的命令
2、输入的参数说明:
输入本地端口:指定本机未被占用的端口,用户可自定义。 输入远程端口:远程主机的真实的端口。 远程主机:远程主机的真实的IP地址。
3、配置保存位置
配置保存在/etc/rc.local文件中。
[root@localhost128 ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
nohup /usr/local/inception/bin/Inception --defaults-file=/etc/inc.cnf &
nohup socat TCP4-LISTEN:13022,reuseaddr,fork TCP4:192.168.42.130:22 >> /root/socat.log 2>&1 &
nohup socat -T 600 UDP4-LISTEN:13022,reuseaddr,fork UDP4:192.168.42.130:22 >> /root/socat.log 2>&1 &
2.3 软件卸载
yum remove socat
2.4 使用展示
1、环境说明
192.168.42.128:配置socat的机器,监听本地端口:13022 192.168.42.130:跳板远程连接的机器。ssh的监听端口为:22
2、配置
3、通过跳板连接到远程机器
通过上图可以看到连接成功
三、小结
1、socat是继rinetd、Haproxy、iptables之后,端口转发和跳板的又一神器,同时支持tcp和udp。通过此一键配置脚本配置,非常简单便捷。