CentOS iptables防火牆的基本應用講解

2022-06-14 23:00:12 字數 2366 閱讀 3767

iptables是linux下不錯的防火牆軟體,本文主要給大家介紹下iptables的安裝、規則增加和清除、開放指定埠、遮蔽指定ip和ip段等centos下iptables的基本應用。

yum install iptables

如果centos沒有預設安裝iptables,則執行上述命令。如何知道系統是否有iptables呢?執行以下命令

service iptables status

如果提示 iptables:unrecognized service 則表示系統尚未安裝。

安裝完iptables後,配置檔案預設在/etc/sysconfig/iptables

圖為iptables預設的配置

iptables -f #清空所選鏈。這等於把所有規則乙個個的刪除。

iptables -x #刪除指定的使用者自定義鏈。

iptables -z #把所有鏈的包及位元組的計數器清空。

這個一般用於伺服器,如允許常用的80(http埠),20、21(ftp埠),22(ssh埠),3306(mysql埠等)

2、把預設的規則清除並新增下列字段

# 允許已建立的或相關連的通行

-a input -m state --state established,related -j accept

#允許本地回環介面

-a input -s 127.0.0.1 -d 127.0.0.1 -j accept

#允許本機對外訪問 

-a output -j accept

# 允許訪問ssh埠,如果埠修改了可以更改相應埠號 

-a input -p tcp --dport 22 -j accept

#允許訪問80(http)埠 

-a input -p tcp --dport 80 -j accept 

#允許訪問ftp埠:21、20 

-a input -p tcp --dport 21 -j accept 

-a input -p tcp --dport 20 -j accept 

#允許訪問161(snmp)埠:

-a input -p udp --dport 161 -j accept

#禁止其他未允許的規則訪問 

-a input -j reject -a forward -j reject

#使用xen、openvz的vps使用者注意!!!如果在檔案中加上了最後一條「禁止其他未允許的規則訪問」,則必須加上第一條「允許已建立的或相關連的通行」。如果沒加上第一條,則無法通過指定的埠號(如ssh)連線vps。

3、儲存並使用以下命令重啟iptables。

service iptables restart

1、遮蔽單個ip

在/etc/sysconfig/iptables中新增以下規則,即可將ip123.45.67.89永久ban(封)掉。

-a input -s 123.45.67.89 -j drop

新增多條單個ip也很簡單,直接回車另起一行,將以上規則稍作修改即可。

2、遮蔽ip段

有時候需要遮蔽乙個地區、乙個國家或乙個網段的ip時,我們可以通過以下方式遮蔽

#遮蔽整個段(a類位址)即從192.0.0.1到192.255.255.254,則新增以下規則。

-i input -s 192.0.0.0/8 -j drop

#封ip段(b類位址)即從192.168.0.1到192.168.255.254,則新增以下規則。

-i input -s 192.168.0.0/16 -j drop

#封ip段(c類位址)即從192.168.200.1到192.168.200.254,則新增以下規則。

-i input -s 192.168.200.0/24 -j drop

以上操作儲存後,重啟iptables即可。

iptables -l -n

在ssh中執行以上語句,其中後面的引數用法是:

我們可以通過ssh命令快速刪除規則,首先執行以下命令,把iptables規則以數字序號的形式顯示。

iptables -l -n --line-numbers

如果我們要刪除第5條規則,則執行以下命令即可。

iptables -d input 5

iptables預設開機不啟動的,如有需要請設定為開機自動啟動,在ssh中執行以下**即可。

反操作請把「on」改為「off」

chkconfig iptables on

Centos iptables基礎使用

開放埠 tcp 埠 firewall cmd zone public add port 8080 tcp permanent udp 埠 firewall cmd zone public add port 8080 udp permanent關閉埠 關閉 tcp 開放埠 firewall cmd z...

單例模式(防繼承,防轉殖)

單列模式 1.普通類 class singleton s1 new singleton s2 new singleton 注意,2個變數是同1個物件的時候才全等 if s1 s2 else 2.封鎖new操作 class singleton s1 new singleton php fatal er...

函式防抖(防表單重複提交)

在前端開發中,常常需要對某些函式進行節流和防抖。目前針對不同場景防抖方案也較多,其中lodash和rxjs中提供的方案,是一種被廣泛使用的方案,其通用性也較強,使用簡單,可以覆蓋我們大部分的業務場景。即 當呼叫函式n毫秒後,才會執行該動作,若在這n毫秒內又呼叫該函式則將取消前一次計時並重新計算執行時...