i am Roger Li

如何禁止VPN client access VPN server 的網路?

日有要求在一個工作環境設立VPN方案,需求只是Client-Server 的VPN連線,設置最簡單的PPTP Server其實已經可以交貨,不過總不能太不負責任吧。最後選擇了在Ubuntu設置OpenVPN,實現PKI 作Authentication的VPN方案。

另一問題來了,因為不希望Server Side工作環境的(192.168.0.0/24)可被VPN client(10.9.0.0/24)存取,但如果跟從Ubuntu的伺服器指南去設置OpenVPN預設是有routing route可到達Server原本所在的Subnet,哪該如何解決呢?
一個簡單方法就是直接在Server side 設定iptables rules 把所有來自10.9.0.0/24 的traffic都禁止到達192.168.0.0/24 。

方法如下:

在/etc/iptables/ 建立一個新檔案名為 rules.v4 ,內容是:

*filter
-A -s 10.9.0.0/24 -d 192.168.0.0/24 -j DROP
COMMIT

執行:

sudo iptables-restore < /etc/iptables/rules.v4
sudo /etc/init.d/iptables-persistent save
sudo service openvpn restart 

這麼每當有來自VPN subnet 要發到Server subnet 的封包便會被丟棄。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *