在Linux centos環境下安裝部署sql server資料庫,並結合cpolar內網穿透工具,創建安全隧道將其映射到公網上,獲取公網地址,實現在外異地遠程連接家裡/公司的sqlserver資料庫,而無需公網IP,無需設置路由器,亦無需雲伺服器。 1.安裝sql server 下載 SQL Se ...
在Linux centos環境下安裝部署sql server資料庫,並結合cpolar內網穿透工具,創建安全隧道將其映射到公網上,獲取公網地址,實現在外異地遠程連接家裡/公司的sqlserver資料庫,而無需公網IP,無需設置路由器,亦無需雲伺服器。
1.安裝sql server
下載 SQL Server 2022 (16.x) Red Hat 存儲庫配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
運行以下命令以安裝 SQL Server:
sudo yum install -y mssql-server
然後等待安裝完成
包安裝完成後,使用其完整路徑運行 mssql-conf setup,按照提示設置 SA 密碼並選擇版本。
sudo /opt/mssql/bin/mssql-conf setup
前面三個版本是免費提供許可的:Evaluation、Developer 和 Express 版,我們選擇第二個作為測試使用
然後同意一下許可條款,輸入yes
選擇中文語言
然後設置管理員密碼,把密碼記住,不要忘了
然後安裝完成,會自動啟動
完成配置後,驗證服務是否正在運行:
systemctl status mssql-server
預設的 SQL Server 埠為1433,TCP協議。 如果為防火牆使用的是FirewallD,則可以使用以下命令:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
設置完重啟防火牆
sudo firewall-cmd --reload
此時,安裝完成了。
註意:如果需要使用命令行連接,在安裝sqlserver的時候就需要安裝sql server命令行工具,可以參考官方教程:
https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-ver16
2.區域網測試連接
由於我沒有安裝命令行工具,所以我們使用圖形化工具連接,這邊使用navicat進行測試連接,輸入區域網ip地址,輸入用戶名sa,密碼上面設置的密碼,點擊測試連接出現連接成功
點擊資料庫,勾選預設的資料庫,
登陸後即可看到預設表信息
3.安裝cpolar內網穿透
上面步驟里,我們在本地Linux安裝了sql server 資料庫並且區域網測試ok。
接下來我們安裝cpolar內網穿透工具,通過cpolar的tcp公網地址,我們可以很容易實現遠程訪問sql server,而無需自己註冊功能變數名稱購買雲伺服器。cpolar它支持http/https/tcp/tls/ftp協議,使用不限制流量,支持永久免費使用。
cpolar官網:https://www.cpolar.com/
使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
token認證
登錄cpolar官網後臺,點擊左側的驗證,查看自己的認證token,之後將token貼在命令行里:
cpolar authtoken xxxxxxx
向系統添加服務
sudo systemctl enable cpolar
啟動cpolar服務
sudo systemctl start cpolar
4.將sqlserver映射到公網
成功啟動cpolar服務後,我們在瀏覽器上訪問cpolar web UI管理界面:Linux區域網ip地址+9200埠,使用cpolar郵箱賬號登錄(如果你還沒註冊賬號的話,在cpolar官網註冊一個)
登錄成功後,點擊左側儀錶盤的隧道管理——創建隧道,創建一個tcp協議的隧道指向sql server的1433埠:
- 隧道名稱:可自定義,註意不要與已有的隧道名稱重覆
- 協議:tcp
- 本地地址:1433
- 功能變數名稱類型:免費選擇隨機功能變數名稱
- 地區:選擇China VIP
點擊創建
然後打開線上隧道列表,查看並且複製tcp協議的公網地址。【註意無需複製tcp://】
5.公網遠程連接
打開navicat或者其他連接工具,輸入上面我們使用cpolar內網穿透工具所獲取的公網地址,以及sqlserver用戶名密碼,點擊測試連接,出現連接成功表示成功。
需要註意:公網地址中的冒號(:)需改為逗號(,)
6.固定連接公網地址
由於以上步驟使用的是隨機臨時tcp埠地址,所生成的公網地址為隨機臨時地址,該公網地址24小時內會隨機變化。我們接下來為其配置固定的TCP埠地址,該地址不會變化,設置後將無需每天重覆修改地址,同時提高帶寬速度。
配置固定tcp埠地址需要將cpolar升級到專業版套餐或以上
保留一個固定tcp地址
登錄cpolar官網後臺,點擊左側的預留,找到保留的tcp地址,我們來為遠程sqlserver保留一個固定的tcp地址:
地區:選擇China vip描述:即備註,可自定義
點擊保留
地址保留成功後,系統會生成相應的固定公網地址,將其複製下來
配置固定tcp地址
在瀏覽器上登錄cpolar web UI管理界面,Linux區域網ip地址+:9200埠。
點擊左側儀錶盤的隧道管理——隧道列表,找到我們上面創建的遠程sqlserver隧道,點擊右側的編輯
修改隧道信息,將保留成功的固定tcp地址配置到隧道中
埠類型:修改為固定tcp埠預留的tcp地址:填寫官網保留成功的地址
點擊更新
隧道更新成功後,點擊左側儀錶盤的狀態——線上隧道列表,可以看到公網地址已經更新成為了固定tcp地址。
7.使用固定公網地址連接
打開navicat連接工具,輸入官網保留的固定tcp地址,點擊測試連接,提示連接成功。
需要註意,公網地址後面埠的冒號(:)需改為逗號(,)
現在這個公網地址不會再隨機變化了,只要保持隧道正常線上,我們在外就可以通過這個固定公網地址來遠程連接區域網的sqlserver資料庫。
本篇博客參考轉載自:https://www.jb51.net/database/3113664ri.htm