在命令模式下,可以使用 memcached -p 12000 去指定端口,可服務安裝後,卻總是只有 -d runservice 的參數。
通過修改注冊表來達到這個修改端口的目的。
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 下面找到一個 ImagePath 的字符串項,正好是服務的執行路徑的字符串,
雙擊該串,在後面加入 -m 45 -p 12000 (使用45M內存,12345為端口),再啟動服務。
配置結果如圖:
先用telnet連接一下windows所在電腦的memcached開放的監聽端口,看是否能夠聯通
通過注冊表修改Windows RRAS VPN PPTP服務默認端口號
VPN(虛擬專用網絡)第一層隧道協議PPtp所使用的默認端口號是TCP 1723,這是一個標准,也就是說不管是微軟的Windows Server自帶的VPN服務還是其他系統或者硬件VPN都是使用的這個端口號,但如果采用的是Windows Server自帶的路由和遠程訪問(RRAS)構建的VPN服務器,那麼可以通過注冊表修改此端口號,從而起到隱藏此服務的目的。但要注意這裡所采用的 VPN客戶端仍然是Windows自帶的VPN連接。
首先我們來看看用Windows Server自帶的路由和遠程訪問(RRAS)構建的VPN服務器的連接情況:服務創建成功後服務器在服務端偵聽TCP 1723端口等待連接,客戶端通過服務端授予的合法帳號進行撥號,連接成功後我們在客戶端CMD下輸入netstat -an可以看到客戶端這時也開放了TCP 1723端口,並且也是偵聽狀態。通過後面的講解我們可以發現這裡開放的TCP 1723端口不受客戶端防火牆的影響,也就是說就算客戶端防火牆沒有打開這個端口,系統同樣可以打開這個端口進行偵聽。
以上是通過默認的端口進行連接,下面我們通過修改注冊表達到自定義端口的目的:首先在服務端注冊表裡面找到這個項 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972- E325-11CE-BFC1-08002bE10318}],這個項裡面設置的是和網絡適配器有關的鍵值,這個項下面可以看到諸如0000、0001、 0002等命名的分支,這些分支設置的是各個接口的信息,然後我們找到裡面含有字符串DriverDesc並且數值是WAN 微型端口 (PPTP)的那個分支,這個分支可能是上述0000、0001、0002等命名分支中的一個,我們繼續找到該分支下面的TcpPortNumber鍵,可以看到它默認的十進制值為1723,這個1723就是VPN服務所開的默認端口號,我們把它修改為其他任意端口號即可。
通過上面的設置,我們重啟服務器後在服務端CMD下輸入netstat -an會發現這時VPN服務器已經開始偵聽我們修改以後的端口號了,說明服務端已經成功更換了默認的端口號1723。
接下來是客戶端的設置。VPN服務修改端口號和終端服務修改3389端口號不同,後者只需服務端修改後客戶端直接在目標IP後面加冒號加端口號就能連接。通過實驗發現,VPN的客戶端電腦同樣需要做上述在服務端上面的注冊表鍵值修改操作才能連接服務端,並且修改後客戶端系統自帶的防火牆還必須關閉才能成功連接(僅開放該端口還不行),否則就要提示錯誤691:不能建立到遠程計算機的連接,因此用於此連接的端口已關閉。而使用默認的1723就不需要防火牆的端口開放。
總結:采用Windows Server自帶的路由和遠程訪問(RRAS)構建的VPN服務器要修改默認端口號,必須服務器和客戶端同時修改注冊表中TcpPortNumber的鍵值;客戶端除了修改注冊表,還必須關閉系統自帶的防火牆。