我正在使用 openVPN 從校園外部存取叢集。但我只想讓一些 ssh 用戶端(Putty、WinSCP)通過 VPN 流量。
透過閱讀一些貼文和wiki,我知道有一種稱為openVPN分割隧道的技術。具體來說,.ovpn 設定檔中的「route」指令將在路由表中建立一行,並且只有與該模式相符的 IP 位址才會被導向到 VPN 隧道。
我得到了解決方案從這篇文章並且新增一個登入節點的IP位址
route-nopull
route 128.111.123.456 255.255.255.255
它起作用了。
其實openVPN可以解析主機名每次連接後
route-nopull
allow-pull-fqdn
route xxx.xxx.edu 255.255.255.255
我檢查了日誌文件,它基本上是一個“路由新增”,登入節點 IP 位址出現在路由列印輸出中。
現在我想為VPN流量添加一個子網路(一個子網路內有多個伺服器),
route-nopull
route 128.111.0.0 255.255.0.0
但隨後我無法 ssh 到登入節點。 Putty提示錯誤訊息:伺服器意外關閉連接,這與VPN已關閉相同。日誌顯示「route add」指令已成功執行,「route print」指令顯示「128.111.0.0」條目具有正確的 VPN 閘道。
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 20
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
128.111.0.0 255.255.0.0 128.111.61.1 128.111.61.143 30
128.111.61.0 255.255.255.0 On-link 128.111.61.143 286
128.111.61.143 255.255.255.255 On-link 128.111.61.143 286
128.111.61.255 255.255.255.255 On-link 128.111.61.143 286
192.168.1.0 255.255.255.0 On-link 192.168.1.100 276
192.168.1.100 255.255.255.255 On-link 192.168.1.100 276
192.168.1.255 255.255.255.255 On-link 192.168.1.100 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.1.100 276
224.0.0.0 240.0.0.0 On-link 128.111.61.143 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.1.100 276
255.255.255.255 255.255.255.255 On-link 128.111.61.143 286
===========================================================================
我的設定檔哪裡錯了?
謝謝。
編輯
有一個貼文是針對同樣的問題。但在這種情況下,由於網路遮罩不正確,因此「route add」指令未成功執行。我沒有犯同樣的錯誤,帶有網路遮罩的IP位址顯示在「route print」中。
答案1
如果錯誤訊息顯示“伺服器關閉了連線”,則表示客戶端有成功開了一個。這應該意味著路由很好(您可以在兩個方向上與伺服器通訊),但是伺服器的sshd配置不接受您的登入。