新冠疫情嚴重,居家遠程辦公

不平凡的庚子鼠年

2020年庚子鼠年是個不平凡的新年,人說每逢庚子年都會發生一些大事,果否則這年的新年竟然發生大規模的傳染病毒。
這個新年過的比較驚心動魄😂,惟一點比較好的是,如今啥都變的安靜了,路上車也少了,人也少了,彷彿回到了木心詩裏寫的那樣一切變慢了。php

雖然在家哪也不去的"隔離"了十幾天,可是隨着日子的增長,你的房貸,車貸,花唄還款這些仍是會到來的,你不上班就木有收入了,公司也會陷入發展停滯。
這些都是咱們不肯看到的。做爲互聯網公司相比傳統公司的好處,咱們能夠不用接觸人,線上遠程的辦公,至少可讓工做繼續進行。linux

遠程辦公

咱們幾乎全部公司的辦公系統都是在公司內網的,想要在家辦公,就須要最起碼鏈接到公司內網,或者操做你的公司電腦。這裏我以前用過兩個軟件
teamview向日葵。這兩個軟件能夠輕鬆的實如今家的電腦控制公司的電腦,可是缺點仍是不少,好比操做卡頓不流暢,並且會常常掉線,須要重連。
我如今使用的內網穿透工具frp,這個工具可讓我可使用微軟的遠程桌面,公司電腦是windows的,微軟的遠程桌面流暢度高不少,就像在本地操做電腦同樣。
今天主要介紹本地mac系統電腦經過內網穿透遠程桌面到windows電腦。git

frp 內網穿透工具,項目地址,能夠經過這裏下載release的版本。它支持tcp,udp,http,https協議。
這裏主要就兩個東西,一個服務端,一個客戶端。服務端須要放在公網服務器,客戶端直接裝內網的電腦上。其主要原理就是內網客戶端發送內網數據到公網服務端,你的本地
電腦在經過訪問公網服務端的數據獲取到內網的電腦數據。感受公網服務端就像一個代理服務器。github

服務端搭建

通常公網服務器的系統都是linux64位的,這裏須要下載frp的linux64位版,主要文件frps, frps.ini, frps_full.ini。
1.配置服務端配置文件frps.ini,golang

[common]
  bind_port = 7066
  vhost_http_port = 8089

bind_port爲客戶端與服務端進行通訊的端口,vhost_http_port爲服務端http服務的端口。其它更豐富的配置可參考frps_full.ini和項目幫助文檔。 web

2.啓動服務
而後經過 ./frps -c frps.ini命令便可啓動服務端 vim

3.設置開機自動啓動
上一步中的frps命令會佔據了整個命令窗口,因此接下來要考慮如何讓它在後臺運行而且開機自啓,經過vim /etc/systemd/system/frps.service命令新建文件並寫入如下內容,windows

[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須要根據本身的狀況設置本身的地址,而後使用systemctl start frps便可啓動frps, 用systemctl enable frps便可將frps設置爲開機啓動。
這樣啓動後能夠經過查看端口是否監聽判斷是否啓動成功,查看端口監聽狀態命令netstat -ano | grep 7066,我綁定的端口是7066。
注意:若是你的服務器是阿里雲的話,須要首先把系統的端口打開,再到阿里雲安全組策略中打開端口,否則你的服務端將會訪問不到。例舉個centos7開放端口的命令,centos6與7不同。centos

firewall-cmd --zone=public --add-port=7066/tcp --permanent
  firewall-cmd --reload

客戶端搭建

公司的電腦大部分系統是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配置爲公網電腦的IP,server_port與frps.ini中的bind_port一致。rdp爲遠程桌面的配置,windows的遠程桌面默認端口爲3389,web爲http通訊的配置。web中的custom_domains爲綁定到公網IP的域名。
同時這裏能夠配置多種端口,以及多個內網的電腦端口。如

[ssh]
  type = tcp
  local_ip = 192.168.1.100
  local_port = 22
  remote_port = 2255

這樣就實現了能夠在家ssh鏈接到內網的一臺服務器上。
注意:若是你的服務器是阿里雲的話,須要把remote_port的端口在系統裏打開,再到阿里雲安全組策略中打開端口,remote_port是指使用雲服務器哪一個端口訪問內網的電腦端口。

2.啓動客戶端
雙擊frpc.exe或者用命令frpc -c frpc.ini便可啓動客戶端,建議使用命令。若是配置一切順利的話,此時你會在客戶端這看到鏈接成功,服務端那也會看到有鏈接接入。

3.設置爲windows服務同時開機自動啓動
藉助winsw工具能夠將frpc註冊爲windows系統中的服務。
下載winsw最新版,地址 能夠將其重命名爲winsw.exe, 將該文件和frpc.exe放在一塊兒,而後新建winsw.xml寫入如下內容

<service>
      <id>frp</id>
      <name>frp</name>
      <description>用frp內網穿透</description>
      <executable>frpc</executable>
      <arguments>-c frpc.ini</arguments>
      <logmode>reset</logmode>
  </service>

而後使用winsw installfrpc start命令便可將frpc安裝爲系統服務。
win+r後經過services.msc進入到服務列表頁面找到frp服務。能夠操做啓動、關閉服務,雙擊設置frp服務屬性。
1.把啓動類型改爲自動,這樣能夠實現自動啓動。
2.點擊恢復tab切,把裏面失敗操做都選擇爲從新啓動服務,以保證frpc在鏈接失敗後自動嘗試從新鏈接

Mac系統遠程桌面到Windows系統

1 Mac須要下載遠程登陸控制軟件
推薦微軟的Microsoft Remote Desktop For Mac,下載鏈接

2 安裝完成後打開軟件,輸入外網服務器的ip和映射內網服務的端口號,x.x.x.x:6000,點擊connect。

3 修復問題
若是出現The certificate or associated chain is not valid報錯
在這裏插入圖片描述
解決辦法是:
1 點擊軟件的 Preferences(首選項)
在這裏插入圖片描述
2 選擇Security(安全)選項
image
勾選 Always connect, enven if authentication fails
以後再點擊connect進行連接

若是出現「 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 」 報錯
image
解決辦法是:
在Mac上提示此錯誤。這時候須要在Windows電腦端進行設置,(最好此時先用向日葵鏈接上內網電腦設置)須要在經過組策略個性遠程桌面服務的安裝設置。
開始->運行,輸入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

相關文章
相關標籤/搜索