防在終端下配iptables將自己封掉

2021-08-31 02:57:39 字數 1105 閱讀 7142

前幾天在用iptables封一些埠;

我的做法是先用netstat檢視本機都有開哪些埠,確定埠的使用程式;

然後使用

]#iptables -p input drop; iptables -p output drop; iptables -p forward drop; iptables -a input -p tcp --dport 80 -j accept; iptables -a output -p tcp --sport 80 -j accept; iptables -a input -p tcp --dport 22 -j accept; iptables -a output -p tcp --sport 22 -j accept; iptables -a input -p tcp --dport 21 -j accept; iptables -a output -p tcp --sport 21 -j accept;
這樣用

]#iptables -l -n
就可以檢視防火牆當前規則

不過當時忽略了先用nestat檢視本機都在使用哪些埠,造成了web中80埠即使開啟也無法訪問。

於是想說先用

]#iptables -f
清除規則,然後重新檢視都有使用哪些埠。

結果悲劇來了:iptables中的規則變成了all drop;

自己把自己封在外面了;

因為伺服器是在另外乙個城市,不能立刻去改iptables設定,所以服務只能暫時暫停;

為此我的總結是:敲回車前要想清楚,確定你知道你在做什麼;

要認真對待每乙個命令;

同時,我也寫了個shell指令碼來防止此類事情再次發生:

使用方法就是在你配iptables之前執行

]#nohup sh iptables-safe.sh > safe.out 2>&1 &
其實簡單的說直接輸入

]#nohup sh iptables-safe.sh &
這樣就好了

這個指令碼是每60秒檢測一次你的終端程序是否在,如果不在,則自動重啟;

因此在配置完iptables之後,儲存iptables的同時,記得kill 掉這個程序,否則你斷開後伺服器自動重啟可是於我無關。。。

在linux終端下執行X Window程式

在 linux 終端下執行 x window程式 作為linux 程式設計師,在大多數情況,在終端下幹活 程式設計 可能更方便一點。伺服器在機房裡,大家都連線到同一臺伺服器上,而本機在 windows 下執行乙個終端 如 securecrt 這是典型的配置。如果開發的軟體是不帶 gui介面的,一點問...

關於在linux終端下使用mysql Client

登陸mysql client 在linux終端直接輸 mysql u root p 回車 之後就可以輸入密碼 登陸了 建立新的mysql使用者 出現如下問題 解釋如下 原因是我是使用了新設的使用者,所以會出現這樣的情況。首先mysql的安裝目錄 usr local mariadb,對應可執行檔案是 ...

在Linux 終端下不能按Ctrl s

很多剛從 windows 轉移到linux 上來工作的同事,在用 vim編輯程式時,常常會習慣性的按下 ctrl s 儲存檔案內容。殊不知,這一按不緊,整個終端再也不響應了。事實上ctrl s 在終端下是有特殊用途的,那就是暫停該終端,這個功能是否有什麼實際用途,目前沒有用到過,還不清楚。要退出這種...