在架設 OpenVpn 時,因為要套用 iptables rules 才能正確地轉送封包,但是因為每次 iptables 開機就會重來,所以要想個方法在每次開機時套用特定規則,由於我跟 Linux 不是很熟,所以 google 了幾個方法都不太好用,最後用了 iptables-persistent 這個套件才成功
步驟:
1. 先把要用的規則直接寫到現在的 iptables 中
sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o enp0s3 -j MASQUERADE
# 192.168.10.0/24 是 OpenVpn 的網段
# enp0s3 是要轉送到的網卡名稱
2. 安裝 iptables-persistent
sudo apt-get install iptables-persistent
3. 過程中會問要不要儲存現在的 ipv4 跟 v6 的 iptables 規則,就按 Yes 就好了
安裝完這樣就完成了 !!
如果以以後要改規則,就一樣先用第一個步驟把規則先套用後,再呼叫以下指令儲存就可以了
sudo su -c 'iptables-save > /etc/iptables/rules.v4'
sudo su -c 'ip6tables-save > /etc/iptables/rules.v6'
之前花了大半天時間嘗試了 crontab 用 @reboot 來指定開機時套用規則,結果怎麼用都不會動,用這個一下就完成了...