Tse-Yao的部落格

AppleTV, DAZN, DNS, gateway, iOS, Nordvpn, Openvpn, raspberrypi, raspberrypi_router, raspberrypi路由器, Shadowsocks, VPN, vpnrouter, vpn路由器, 樹莓派, 科技, 路由器

Openvpn-利用Raspberry Pi做具有Openvpn的Gateway

admin
Spread the love
IMG_1682.jpg

Openvpn-其實我對Openvpn並不陌生,我所使用的Google Home就是使用Openvpn服務,這樣我才能聽國外的音樂串流服務,例如Pandora、iHeartradio等。這次會想要使用Openvpn做Gateway,其實是因為我之前用Shadowsocks Gateway觀看DAZN時的不愉快經驗,Shadowsocks Gateway常常斷線,我需要不停的重新開啟Raspberry Pi,這樣不管是對人還是對機器都是一種很傷的行為,由於國外VPN服務商幾乎都是提供Openvpn的服務,很少有提供Shadowsocks的服務,因此我就決定要使用Openvpn來做Gateway。

不過在開始製作Openvpn Gateway之前,必須要準備以下材料。

接下來就可以進行以下步驟囉!

I. 先更新Repository並進行更新作業

Sudo apt update
Sudo apt upgrade

II. 接著安裝Openvpn

sudo apt-get install openvpn

確認Openvpn可以運行

sudo systemctl enable openvpn

III. 下載VPN服務商的設定檔案,這裡以Nordvpn為例

cd /etc/openvpn/
sudo wget https://nordvpn.com/api/files/zip
sudo unzip zip

IV. 創建Nordvpn帳號及密碼的文字檔

sudo nano /etc/openvpn/auth.txt

依照下列格式填寫帳號及密碼

Username
Password

然後按ctrl+x接著按Y,最後再按enter鍵完成存檔

V. 把.opvn設定檔複製至/etc/openvpn目錄下,例如我要日本的伺服器,可填寫如下。各位可以視需求複製不同的.opvn檔。

sudo cp /etc/openvpn/jp202.nordvpn.com.tcp443.ovpn /etc/openvpn/jp202.conf

VI. 接著編輯/etc/openvpn/jp202.conf

sudo nano /etc/openvpn/jp202.conf

找到

auth-user-pass

改為

auth-user-pass /etc/openvpn/auth.txt

然後按ctrl+x接著按Y,最後再按enter鍵完成存檔

VII. 接著編輯/etc/default/openvpn

sudo nano /etc/default/openvpn

找到

#AUTOSTART="all"

改為

AUTOSTART="jp202"

然後按ctrl+x接著按Y,最後再按enter鍵完成存檔

VIII. 然後重新啟動

sudo reboot

接著就要藉由iptables建立規則

I. 先建立轉發規則

sudo /bin/su -c "echo -e '\n#Enable IP Routing\nnet.ipv4.ip_forward = 1' > /etc/sysctl.conf"

可以藉由sudo sysctl -p來檢查是否有更改成功,若成功,應該會顯示

net.ipv4.ip_forward = 1

II. 接下來就輸入下列規則,以下就不多做解釋了。有興趣可以參考這篇文章的解釋(Raspberry Pi VPN Gateway – NordVPN)。

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -i eth0 -p icmp -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -P FORWARD DROP
sudo iptables -P INPUT DROP
sudo iptables -L

III. 將上述iptables的規則固定。

sudo apt-get install iptables-persistent

IV. 若要更動iptables規則,可在更動完成後鍵入下列指令來更新規則。

sudo systemctl enable netfilter-persistent

接著鍵入sudo reboot重新啟動。

sudo reboot

然後在你的手機或是apple tv將gateway的地方輸入Raspberry Pi的local ip位置(例如192.168.68.103),然後把DNS改為103.86.96.100 or 103.86.99.100,就可以完成設定了。以後在家就不需要開Nordvpn的app也可以達成VPN的功能囉!

另外,如果有訂閱中華電信色情守門員的人,請把色情守門員關掉,否則連不上Nordvpn的官方網站,甚至會影響Nordvpn的運作。

延伸閱讀:

Raspberry Pi VPN Gateway – NordVPN

How to setup NordVPN on the Raspberry Pi

DD-WRT setup with NordVPN

Shadowsocks-利用樹莓派(Raspberry Pi)做具有Shadowsocks功能的Gateway

ss-redir+dnsmasq+iptables 透明代理

Download Raspbian

Tags:

發佈留言

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

Back to top