Linux 啟動時即套用 iptables 的規則

  • 412
  • 0
  • 2017-08-07

在架設 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 來指定開機時套用規則,結果怎麼用都不會動,用這個一下就完成了...