本帖最后由 牵网线的 于 2024-11-20 21:51 编辑
一、准备编译环境
安装编译工具
在Euler系统中,首先确保已经安装了基本的编译工具,如 gcc 和 make 。如果没有安装,可以使用系统的包管理器进行安装。
对于Euler系统,可能使用的是 yum 或者 dnf (取决于Euler的具体版本和配置)。在使用 yum 的情况下,可以执行 sudo yum install -y gcc make来安装 gcc 和 make 。
安装依赖库
Socat可能依赖于一些其他的库,例如 openssl 库(如果要使用加密功能)等。
- sudo yum install openssl -y
复制代码方法一:一键编译安装(推荐)
- sudo sh -c './configure --prefix=/usr/local/socat && make && make install'
复制代码
方法二、步骤安装
配置编译选项
- ./configure --prefix=/usr/local/socat
复制代码 编译源代码
执行 make 命令开始编译源代码 安装socat
编译完成后,执行 sudo make install 命令将socat安装到指定的目录(如果在 ./configure 步骤中指定了 --prefix 选项)或者默认目录。 - sudo vim /etc/profile
- export PATH=/usr/local/socat/bin:$PATH
- #退出保存
- #执行环境变量刷新
- sudo source /etc/profile
- #复制文件到运行路径
- sudo cp /usr/local/socat/bin/socat /usr/bin/socat
复制代码检查socat版本
安装完成后,可以通过执行 sudo socat -V 命令来检查socat的版本信息,以确认安装是否成功。如果能够正确显示socat的版本号,说明安装成功。
执行socat命令转发
- nohup sudo sh -c 'socat TCP-LISTEN:8888,fork TCP:192.168.1.100:5555' &
- 或者
- nohup sudo sh -c 'socat TCP4-LISTEN:8888,fork TCP4:192.168.1.100:5555' &
复制代码 这个命令的含义是:
TCP-LISTEN:8888:在本地8888端口上监听TCP连接
fork :为每个建立的连接创建一个子进程,
TCP:192.168.1.100:5555 :所有转发的数据都会被送到远程服务器192.168.1.100的5555端口。
请确保本地和远程服务器的相应端口是开放的,并且socat在两台机器上都已安装
iptables限源端口访问(注意顺序)
- -A INPUT -s 192.168.1.100/32 -p tcp -m tcp --dport 5555 -j ACCEPT
- -A INPUT -p tcp -m tcp --dport 5555 -j DROP
复制代码
|