Lanproxy

该工具基于java环境, 并且需要在服务端和客户端各安装一套,

服务端部署lanproxy-server,客户端部署 lanproxy-client

服务端和客户端可以是windows 也可以是linux , jdk版本建议是1.7和1.8的

服务器端以 centos7为例

1. 部署Java环境

转速-e –nodeps`rpm -qa | grep java`

百胜安装-y java-1.8.0-openjdk-devel.x86_64

java环境变量如下

JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64

JRE_HOME = $ JAVA_HOME / jre

CLASS_PATH =。:$JAVA_HOME / lib / dt.jar:$JAVA_HOME / lib / tools.jar:$JRE_HOME / lib

PATH = $ PATH:$JAVA_HOME / bin:$JRE_HOME / bin

导出JAVA_HOME JRE_HOME CLASS_PATH PATH

将其追加到/etc/profile

源/ etc / profile

2. 部署lanproxy-server

解压 lanproxy-server-20171116.zip

进入目录 lanproxy-server-20171116

vim conf / config.properties

server.bind = 0.0.0.0

server.port = 4900

server.ssl.enable = true

server.ssl.bind = 0.0.0.0

server.ssl.port = 4993

server.ssl.jksPath = test.jks

server.ssl.keyStorePassword = 123456

server.ssl.keyManagerPassword = 123456

server.ssl.needsClientAuth = false

config.server.bind = 0.0.0.0

config.server.port = 8090

config.admin.username = xxxxx

config.admin.password = xxxxx

根据自身喜好修改最后两行的用户和密码,

访问配置界面时要用.其他一般不需要动,保存即可.

启动lanproxy-server

代理服务器-20171116 / bin / starup.sh

[root @ vm_666配置]# 聚苯乙烯 | grep lanproxy
根 11195 1 0 3月21分/ 1 00:00:12 java -Dapp.home = / media / software / lanproxy-server / proxy-server-20171116 -Djava.awt.headless = true -Djava.net.preferIPv4Stack = true -classpath / media / software / lanproxy-server / proxy-server -20171116 / conf:/媒体/软件/ lanproxy服务器/代理服务器-20171116 / lib / gson-2.7.jar:/媒体/软件/lanproxy-server/proxy-server-20171116/lib/hamcrest-core-1.3.jar:/媒体/软件/lanproxy-server/proxy-server-20171116/lib/junit-4.12.jar:/媒体/软件/lanproxy-server/proxy-server-20171116/lib/log4j-1.2.17.jar:/媒体/软件/lanproxy-server/proxy-server-20171116/lib/netty-all-4.0.36.Final.jar:/媒体/软件/ lanproxy-server / proxy-server-20171116 / lib / proxy-common-0.1.罐:/媒体/软件/ lanproxy-server / proxy-server-20171116 / lib / proxy-protocol-0.1.罐:/媒体/软件/ lanproxy服务器/ proxy服务器-20171116 / lib / proxy服务器-0.1.罐:/媒体/软件/lanproxy-server/proxy-server-20171116/lib/slf4j-api-1.7.5.jar:/媒体/软件/lanproxy-server/proxy-server-20171116/lib/slf4j-log4j12-1.7.5.jar org.fengfei.lanproxy.server.ProxyServerContainer

[root @ vm_666配置]# netstat -tnlp | grep Java

tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN 11195 / java

tcp 0 0 0.0.0.0:4993 0.0.0.0:* LISTEN 11195 / java

tcp 0 0 0.0.0.0:4900 0.0.0.0:* LISTEN 11195 / java

可见开放的端口有8090 , 4993 , 4990 , 其中8090是管理界面的端口,4990是ssl加密使用的端口,

4900是非加密通信使用的端口

为lanproxy添加客户端.

http://ip:8090 ,输入设置好的用户名和密码后,进入配置界面

下图中,新加客户端生成的随机密钥一定要妥善保存, 对应客户端需要填写这个随机密钥.

lanproxy1

 

为客户端配置端口,在配置管理中,找到对应客户端, 在操作选项中点击编辑

lanproxy2

 

代理名称 随意填写, 建议取有意义的名字; 公网端口即对公网服务器对外公开的端口,

后端IP端口是内网服务器开放的.

下图表示, 把内网一台服务器80端口,映射到公网IP的880端口.

lanproxy3

 

这时返回终端,可以看到,880端口已经监听了

[root @ vm_666脚本]# netstat -tnlp | grep Java

tcp 0 0 0.0.0.0:880 0.0.0.0:* LISTEN 11195 / java

tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN 11195 / java

tcp 0 0 0.0.0.0:4993 0.0.0.0:* LISTEN 11195 / java

tcp 0 0 0.0.0.0:4900 0.0.0.0:* LISTEN 11195 / java

 

3. 部署lanproxy-client

仍然以linux为例, 自行部署java环境,建议为1.7或1.8的.

解压 lanproxy-java-client-20171116.zip

进入目录 lanproxy-java-client-20171116

vim conf / config.properties

link.key =

ssl.enable = false

ssl.jksPath = test.jks

ssl.keyStorePassword = 123456

server.host = x.x.x.x

#默认的ssl端口是 4993

server.port = 4900

其中

lient.key的值为刚才lanproxy-server生成的随机密钥.

server.host的值为公网服务器的ip

server.port的值为4900, 非加密端口.

配置完成后保存退出.

 

启动lanproxy-client

[root @ localhost lanproxy-java-client-20171116]# bin / startup.sh

[root @ localhost〜]# 聚苯乙烯 | grep lanproxy客户端
根 26785 1 0 3月21 ? 00:00:26 java -Dapp.home = / usr / local / lanproxy-client / lanproxy-java-client-20171116 -Djava.awt.headless = true -Djava.net.preferIPv4Stack = true -classpath / usr / local / lanproxy-client / lanproxy -java-client-20171116 / conf:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / gson-2.7.jar:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / hamcrest-core-1.3.jar:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / junit-4.12.jar:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / log4j-1.2.17.jar:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / netty-all-4.0.36.Final.jar:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / proxy-client-0.1.罐:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / proxy-common-0.1.罐:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / proxy-protocol-0.1.罐:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / slf4j-api-1.7.5.jar:/usr / local / lanproxy-client / lanproxy-java-client-20171116 / lib / slf4j-log4j12-1.7.5.jar org.fengfei.lanproxy.client.ProxyClientContaine

 

安装nginx做80端口测试

本地打开页面

nginx1

公网地址打开页面,公网地址的端口是880

nginx2

可见lsnproxy配置达到了预期效果.

若不喜欢管理界面带8090端口的情况,可在前端加nginx,用80端口代理8090

若不喜欢多个web页面有特殊端口的情况,可以在前端nginx中配置多个vhost,并绑定域名

发表评论