不平凡的庚子鼠年
2020年庚子鼠年是個不平凡的新年,人說每逢庚子年都會發(fā)生一些大事炕檩,果不然這年的新年居然發(fā)生大規(guī)模的傳染病毒斗蒋。
這個新年過的比較驚心動魄??,唯一點比較好的是笛质,現(xiàn)在啥都變的安靜了泉沾,路上車也少了,人也少了妇押,仿佛回到了木心詩里寫的那樣一切變慢了跷究。
雖然在家哪也不去的"隔離"了十幾天,但是隨著日子的增加舆吮,你的房貸揭朝,車貸队贱,花唄還款這些還是會到來的,你不上班就木有收入了潭袱,公司也會陷入發(fā)展停滯柱嫌。
這些都是我們不愿看到的。作為互聯(lián)網(wǎng)公司相比傳統(tǒng)公司的好處屯换,我們可以不用接觸人编丘,線上遠程的辦公,至少可以讓工作繼續(xù)進行彤悔。
遠程辦公
我們幾乎所有公司的辦公系統(tǒng)都是在公司內網(wǎng)的嘉抓,想要在家辦公,就需要最起碼連接到公司內網(wǎng)晕窑,或者操作你的公司電腦抑片。這里我之前用過兩個軟件
teamview
,向日葵
杨赤。這兩個軟件可以輕松的實現(xiàn)在家的電腦控制公司的電腦敞斋,但是缺點還是很多,比如操作卡頓不流暢疾牲,而且會經(jīng)常掉線植捎,需要重連。
我現(xiàn)在使用的內網(wǎng)穿透工具frp
阳柔,這個工具可以讓我可以使用微軟的遠程桌面焰枢,公司電腦是windows的,微軟的遠程桌面流暢度高很多舌剂,就像在本地操作電腦一樣济锄。
今天主要介紹本地mac系統(tǒng)電腦通過內網(wǎng)穿透遠程桌面到windows電腦。
frp 內網(wǎng)穿透工具霍转,項目地址,可以通過這里下載release的版本拟淮。它支持tcp,udp,http,https協(xié)議。
這里主要就兩個東西谴忧,一個服務端,一個客戶端角虫。服務端需要放在公網(wǎng)服務器沾谓,客戶端直接裝內網(wǎng)的電腦上。其主要原理就是內網(wǎng)客戶端發(fā)送內網(wǎng)數(shù)據(jù)到公網(wǎng)服務端戳鹅,你的本地
電腦在通過訪問公網(wǎng)服務端的數(shù)據(jù)獲取到內網(wǎng)的電腦數(shù)據(jù)均驶。感覺公網(wǎng)服務端就像一個代理服務器。
服務端搭建
一般公網(wǎng)服務器的系統(tǒng)都是linux64位的枫虏,這里需要下載frp的linux64位版妇穴,主要文件frps, frps.ini, frps_full.ini爬虱。
1.配置服務端配置文件frps.ini,
[common]
bind_port = 7066
vhost_http_port = 8089
bind_port為客戶端與服務端進行通信的端口,vhost_http_port為服務端http服務的端口腾它。其它更豐富的配置可參考frps_full.ini和項目幫助文檔跑筝。
2.啟動服務
然后通過 ./frps -c frps.ini
命令即可啟動服務端
3.設置開機自動啟動
上一步中的frps命令會占據(jù)了整個命令窗口,所以接下來要考慮如何讓它在后臺運行并且開機自啟瞒滴,通過vim /etc/systemd/system/frps.service
命令新建文件并寫入以下內容,
[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/loal/frp/frps -c /usr/local/frp/frps.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
這里的ExecStart
需要根據(jù)自己的情況設置自己的地址曲梗,然后使用systemctl start frps
即可啟動frps, 用systemctl enable frps
即可將frps設置為開機啟動。
這樣啟動后可以通過查看端口是否監(jiān)聽判斷是否啟動成功妓忍,查看端口監(jiān)聽狀態(tài)命令netstat -ano | grep 7066
虏两,我綁定的端口是7066。
注意:如果你的服務器是阿里云的話世剖,需要首先把系統(tǒng)的端口打開定罢,再到阿里云安全組策略中打開端口,不然你的服務端將會訪問不到旁瘫。例舉個centos7開放端口的命令祖凫,centos6與7不一樣。
firewall-cmd --zone=public --add-port=7066/tcp --permanent
firewall-cmd --reload
客戶端搭建
公司的電腦大部分系統(tǒng)是windows的境蜕,可能也有mac的蝙场,但是frp沒有mac的版的安裝包,不過你可以試一試在mac下源碼編譯粱年,源碼是golang的售滤。
主要文件frpc, frpc.ini, frpc_full.ini。
1.配置客戶端文件frpc.ini.
[common]
server_addr = X.X.X.X
server_port = 7066
[rdp]
type = tcp
local_ip = 0.0.0.0
local_port = 3389
remote_port = 6000
[web]
type = http
local_port = 8080
custom_domains = xxx.com
sever_addr配置為公網(wǎng)電腦的IP台诗,server_port與frps.ini中的bind_port一致完箩。rdp為遠程桌面的配置,windows的遠程桌面默認端口為3389拉队,web為http通信的配置弊知。web中的custom_domains為綁定到公網(wǎng)IP的域名。
同時這里可以配置多種端口粱快,以及多個內網(wǎng)的電腦端口秩彤。如
[ssh]
type = tcp
local_ip = 192.168.1.100
local_port = 22
remote_port = 2255
這樣就實現(xiàn)了可以在家ssh連接到內網(wǎng)的一臺服務器上。
注意:如果你的服務器是阿里云的話事哭,需要把remote_port
的端口在系統(tǒng)里打開漫雷,再到阿里云安全組策略中打開端口,remote_port
是指使用云服務器哪個端口訪問內網(wǎng)的電腦端口鳍咱。
2.啟動客戶端
雙擊frpc.exe或者用命令frpc -c frpc.ini
即可啟動客戶端降盹,建議使用命令。如果配置一切順利的話谤辜,此時你會在客戶端這看到連接成功蓄坏,服務端那也會看到有連接接入价捧。
3.設置為windows服務同時開機自動啟動
借助winsw工具可以將frpc注冊為windows系統(tǒng)中的服務。
下載winsw最新版涡戳,地址 可以將其重命名為winsw.exe, 將該文件和frpc.exe放在一起结蟋,然后新建winsw.xml寫入以下內容
<service>
<id>frp</id>
<name>frp</name>
<description>用frp內網(wǎng)穿透</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<logmode>reset</logmode>
</service>
然后使用winsw install
和frpc start
命令即可將frpc安裝為系統(tǒng)服務。
win+r后通過services.msc
進入到服務列表頁面找到frp服務妹蔽∽得校可以操作啟動、關閉服務胳岂,雙擊設置frp服務屬性编整。
1.把啟動類型改成自動,這樣可以實現(xiàn)自動啟動乳丰。
2.點擊恢復tab切掌测,把里面失敗操作都選擇為重新啟動服務,以保證frpc在連接失敗后自動嘗試重新連接
Mac系統(tǒng)遠程桌面到Windows系統(tǒng)
1 Mac需要下載遠程登錄控制軟件
推薦微軟的Microsoft Remote Desktop For Mac产园,下載連接
2 安裝完成后打開軟件汞斧,輸入外網(wǎng)服務器的ip和映射內網(wǎng)服務的端口號,x.x.x.x:6000,點擊connect。
3 修復問題
如果出現(xiàn)The certificate or associated chain is not valid報錯
解決辦法是:
1 點擊軟件的 Preferences(首選項)
2 選擇Security(安全)選項
勾選 Always connect, enven if authentication fails
之后再點擊connect進行鏈接
如果出現(xiàn)“ Remote Desktop Connection cannot verify the identity of the computer that you want to connect to. Try reconnecting to the Windows-based computer, or contact our administrator ” 報錯
解決辦法是:
在Mac上提示此錯誤什燕。這時候需要在Windows電腦端進行設置粘勒,(最好此時先用向日葵連接上內網(wǎng)電腦設置)需要在通過組策略個性遠程桌面服務的安裝設置。
開始->運行屎即,輸入gpedit.msc庙睡,打開組策略編輯器
進入Computer Configuration->Administrative Templates->Windows Components->Remote Desktop Services->Remote Dekstop Session Host->Security
(計算機配置->管理模版->windows組件->遠程桌面服務->遠程會話主機->安全)
打開"Require use of specific security layer for remote desktop (RDP) connection"的設置,將其設置為Enabled技俐,并且在Options中將Security Layer設置為RDP乘陪。
(打開“遠程(RDP)連接要求使用指定的安全層”的設置,將其設置為“已啟用”雕擂,并在選項中將安全層設置為RDP)
之后再點擊connect進行連接啡邑,就會看到遠程界面了。ok