lanproxy簡介
lanproxy是一個將局域網個人電腦、服務器代理到公網的內網穿透工具,目前僅支持tcp流量轉發,可支持任何tcp上層協議(訪問內網網站、本地支付接口調試、ssh訪問、遠程桌面...)。目前市面上提供類似服務的有花生殼、TeamView、GoToMyCloud等等,但要使用第三方的公網服務器就必須爲第三方付費,並且這些服務都有各種各樣的限制,此外,由於數據包會流經第三方,因此對數據安全也是一大隱患。
相關地址
主頁 https://lanproxy.org
發佈包下載地址 https://github.com/ffay/lanproxy/releases
實現方案
因爲需要映射多個80口,lanproxy不能開放重複端口,所以使用Nginx做反向代理
Server,Client都需要安裝java
安裝JDK
wget https://www.reucon.com/cdn/java/jdk-8u131-linux-x64.tar.gz
解壓到 /usr/java/jdk1.8.0_131
vim /etc/profie 在尾部添加以下內容
#JDK 1.8 export JAVA_HOME=/usr/java/jdk1.8.0_131 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
查看java版本
java -version
Server配置:
解壓安裝包路徑/usr/local/proxy-server
配置文件/usr/local/proxy-server/conf/config.properties
server.bind=0.0.0.0 #與代理客戶端通信端口 server.port=4900 #ssl相關配置 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 #WEB在線配置管理相關信息 config.server.bind=0.0.0.0 config.server.port=8090 config.admin.username=admin config.admin.password=admin
啓動
/usr/local/proxy-server/bin/startup.sh
瀏覽器上輸入 http://192.168.16.100:8090 ,默認帳號密碼admin,admin
Client配置:
解壓安裝包路徑/usr/local/lanproxy-java-client
配置文件/usr/local/lanproxy-java-client/conf/config.properties
#與在proxy-server配置後臺創建客戶端時填寫的祕鑰保持一致;沒有服務器可以登錄 https://lanproxy.org/ 創建客戶端獲取祕鑰 client.key= ssl.enable=false ssl.jksPath=test.jks ssl.keyStorePassword=123456 #這裏填寫實際的proxy-server地址;沒有服務器默認即可,自己有服務器的更換爲自己的proxy-server(IP)地址 server.host=深圳公網IP #proxy-server ssl默認端口4993,默認普通端口4900 #ssl.enable=true時這裏填寫ssl端口,ssl.enable=false時這裏填寫普通端口 #default ssl port is 4993 server.port=4900
啓動
/usr/local/lanproxy-java-client/bin/startup.sh