Linux · 2021年5月3日

Oracle Cloud Ubuntu 不用預設 iptables 的方法

之前弄了 Oracle Cloud VPS 來玩,結果一直鬼打牆卡在防火牆設定,後來發現是 Oracle Cloud 雞婆在 iptables 裡面預設加了一堆規則。

用網路上教的方法弄半天不成功,最後自己找到了一個無腦解決方式,於是改用 ufw 不用 iptables。如果你「需要」iptables 管理複雜一點的規則,那不適用此教學。

首先必須要去 Oracle Cloud 後台網路設定那邊把 port 打開,我是要架站所以開 80 跟 443,預先裝好了 nginx。

接著 SSH 登入 Oracle Cloud 的 VPS,sudo su 切換到 root 之後 passwd 改密碼。這是為了如果操作失敗 SSH 被踢下線的話,可以從 Oracle 網頁後台用 key 連進去,但是連進去之後他還是會問你 root 密碼,如果沒改密碼的話,我們不知道預設密碼是什麼就進不去了。

接著打開你要的 port

ufw allow 22
ufw allow 80
ufw allow 443

再打開防火牆

ufw enable

接著我們要刪除 iptables 並重裝 ufw (因為 iptables 跟 ufw 本身有依賴性,雖然看起來很蠢,但是這樣會成功…)

apt-get remove iptables

apt-get install ufw

重開機!重新启动!重新启动!,輸入檢查 ufw 是不是被自動關掉,是的話再打開一次,再重開機,確定重開機不會被關掉

ufw status

ufw enable

最後在自己電腦檢查 port 80 是否開啟,就好了。

nmap -v -p 80 你的VPS IP