這個樹莓派是好幾年前買來實驗用的,後來有一陣子沒在使用,最近因為家裡的Dlink Router不知道為什麼內建的VPN會和Mesh的某些功能衝突,導致Port無法轉發,所以好一陣子我的VPN就無法使用,某天在整理家裡的時候突然發現這台小小的樹莓派,因為是好幾年前買的所以是滿舊的Pi3,只有少少的1G Ram,原本還有想要拿來做更多事情,但想說一件件來,先來把我的VPN復活吧!
目錄
事前作業
今天會用到的Raspberry Pi 3 Model B的板子,還有一張8G的記憶卡(我只有在家裡找到這個,我想應該夠用),準備好之後,要先將系統燒製記憶卡裡面,現在很方便上官網下載樹莓派的燒錄軟體,就可以直接選擇好版本和要的系統直接燒錄了,因為我沒有想要使用圖形介面,而且記憶卡只有8G,所以選擇Raspberry Pi OS Lite的版本。
燒錄好系統之後,因為我沒有要外接螢幕,我要直接用SSH登入,所以要先在記憶卡裡面先新增好設定才能連線。
如何使用SSH Login樹莓派
首先要先做好網路的設定,進到記憶卡裡,新增wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=TW
network={
ssid="填入WiFi SSID"
psk="填入 WiFi 密碼"
}
接著再新增一個檔名為ssh的檔案即可,樹莓派開機的時候會自動搜尋ssh檔,然後就會自動刪掉這個空的檔案。
準備好以後就可以把記憶卡插上,電源接好開機!
當你接好電源以後,就可以用ping raspberrypi.local來取得IP,接著SSH Login,預設帳號為pi,預設密碼為raspberry。
安裝Strongswan建立VPN Server
接下來就可以進行更新與安裝套件來建立VPN Server了,通常我都會先進行系統的更新還有韌體更新,然後重開機。
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install rpi-update && echo Y | sudo rpi-update
reboot
接著安裝需要的套件
apt-get install strongswan libcharon-extra-plugins iptables
然後要進行/etc/ipsec.conf的設定
config setup
cachecrls=yes
uniqueids=never
conn ios
keyexchange=ikev1
authby=xauthpsk
xauth=server
left=%defaultroute
leftsubnet=0.0.0.0/0
leftfirewall=yes
right=%any
rightsourceip=10.0.0.0/24 #這個是你連上以後要配給的網段,最好選一組沒用到的網段
rightdns=8.8.8.8
auto=add
接著設定驗證/etc/ipsec.secrets
YOUR MACHINES IP ADDRESS %any : PSK "YOUR PRE-SHARED KEY HERE" #填入一組PSK密鑰
zoey : XAUTH "password" #設定使用者帳號與密碼
user2 : XAUTH "YOUR PASSWORD HERE"
啟用IPv4的轉發,編輯/etc/sysctl.conf
net.ipv4.ip_forward=1 #填入這行
sysctl -p #離開後執行
最後建立iptables的NAT規則(也可以將iptables的規則寫入/etc/rc.local,開機執行)
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o wlan0 -j MASQUERADE #注意網段和網卡
然後就可以在Client進行設定測試VPN有沒有連上囉!