-- SOCAT安全转发代理 --
软件官网:http://www.dest-unreach.org/socat/
1、生成服务器和客户端证书
生成证书脚本如下:
socat_cert.sh
******************************************************************************
#!/bin/bash
if [ -z "$1"] ; then
echo "usage: socat_cert.sh <server/client name>"
exit 1
fi
FILENAME=$1
openssl genrsa -out $FILENAME.key 1024
openssl req -new -key $FILENAME.key -x509 -days 3653 -out $FILENAME.crt
cat $FILENAME.key $FILENAME.crt >$FILENAME.pem
chmod 600 $FILENAME.key $FILENAME.pem
******************************************************************************
将生成的证书分别复制到服务器和客户机的$HOME/etc目录下。
注:
服务器端需要的文件为:server.pem,client.crt
客户机需要的文件为:server.crt,client.pem
2、启动服务器端,例如(转发至SOCKS5的代理示例):
nohup socat -d -d -d -d openssl-listen:4433,reuseaddr,fork,cert=$HOME/etc/server.pem,cafile=$HOME/etc/client.crt TCP4:127.0.0.1:2080 >socat.log 2>&1
3、启动客户端程序:
nohup socat -d -d -d -d TCP4-LISTEN:4433,reuseaddr,fork openssl-connect:viewsonic.tcstar.tk:4433,cert=$HOME/etc/client.pem,cafile=$HOME/etc/server.crt >socat.log 2>&1
软件官网:http://www.dest-unreach.org/socat/
1、生成服务器和客户端证书
生成证书脚本如下:
socat_cert.sh
******************************************************************************
#!/bin/bash
if [ -z "$1"] ; then
echo "usage: socat_cert.sh <server/client name>"
exit 1
fi
FILENAME=$1
openssl genrsa -out $FILENAME.key 1024
openssl req -new -key $FILENAME.key -x509 -days 3653 -out $FILENAME.crt
cat $FILENAME.key $FILENAME.crt >$FILENAME.pem
chmod 600 $FILENAME.key $FILENAME.pem
******************************************************************************
将生成的证书分别复制到服务器和客户机的$HOME/etc目录下。
注:
服务器端需要的文件为:server.pem,client.crt
客户机需要的文件为:server.crt,client.pem
2、启动服务器端,例如(转发至SOCKS5的代理示例):
nohup socat -d -d -d -d openssl-listen:4433,reuseaddr,fork,cert=$HOME/etc/server.pem,cafile=$HOME/etc/client.crt TCP4:127.0.0.1:2080 >socat.log 2>&1
3、启动客户端程序:
nohup socat -d -d -d -d TCP4-LISTEN:4433,reuseaddr,fork openssl-connect:viewsonic.tcstar.tk:4433,cert=$HOME/etc/client.pem,cafile=$HOME/etc/server.crt >socat.log 2>&1
nohup 貌似对socat不太管用,还是用setsid比较好使。
回复删除