IP集合-ipset
IP 集合-ipset
概述
ipset 是一個(gè) Linux 內(nèi)核功能,它允許你創(chuàng)建、管理和操作 IP 集合(IP sets)。IP 集合是一種高效的數(shù)據(jù)結(jié)構(gòu),可以存儲(chǔ)多個(gè) IP 地址、網(wǎng)絡(luò)地址或者端口號(hào),以便于快速匹配和處理網(wǎng)絡(luò)數(shù)據(jù)包。
ipset 工具提供了一組命令行工具,讓用戶(hù)可以創(chuàng)建不同類(lèi)型的集合(比如哈希集合、有序集合等),將 IP 地址添加到這些集合中,從集合中刪除地址,或者檢查一個(gè)地址是否存在于集合中。它還允許用戶(hù)將這些 IP 集合結(jié)合起來(lái),方便地應(yīng)用于防火墻規(guī)則或者路由策略。
這個(gè)功能強(qiáng)大的工具在網(wǎng)絡(luò)安全和管理中被廣泛使用,特別是在需要高效處理大量 IP 地址的情況下,如防火墻規(guī)則、流量控制和網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等,主要還是與iptables結(jié)合使用 。
ipset 的安裝和卸載
官網(wǎng): http://www.tjdsmy.cn/
安裝
yum -y install ipset
# 安裝依賴(lài) yum -y install libmnl-devel libmnl # 官網(wǎng)下載源碼包 wget http://www.tjdsmy.cn/ipset-7.19.tar.bz2 # 解壓 tar -xf ipset-7.19.tar.bz2 cd ipset-7.19/ # 編譯安裝 ./configure --prefix = /usr/local/ipset && make && make install
卸載
# 先刪除用到ipset的防火墻規(guī)則,再刪除集合,再刪除相關(guān)文件 rpm -ql ipset /usr/sbin/ipset /usr/share/doc/ipset-7.1 /usr/share/doc/ipset-7.1/COPYING /usr/share/doc/ipset-7.1/ChangeLog /usr/share/man/man8/ipset.8.gz # 刪除上述相關(guān)文件以及安裝目錄/usr/local/ipset的所有內(nèi)容
ipset 命令格式
ipset 命令的基本語(yǔ)法格式如下:
ipset [ 選項(xiàng)] 命令 [參數(shù)]
選項(xiàng) 是可選的,用于修改命令的行為或提供額外的信息。
命令 是 ipset 提供的操作,比如 create 、 add 、 del 、 list 、 save 、 restore 、 destroy 等等。
參數(shù) 是針對(duì)命令的具體設(shè)置、IP 地址或集合的名稱(chēng)等內(nèi)容。
使用實(shí)例:
# 創(chuàng)建一個(gè) IP 集合: ipset create myset hash:ip # 這會(huì)創(chuàng)建一個(gè)名為 `myset` 的 IP 集合,類(lèi)型為 `hash:ip`,用于存儲(chǔ) IP 地址。 # 添加一個(gè) IP 地址到集合中: ipset add myset 192 .168.1.100 # 這將 `192.168.1.100` 添加到名為 `myset` 的集合中。 # 刪除一個(gè) IP 地址從集合中: ipset del myset 192 .168.1.100 # 這將從名為 `myset` 的集合中刪除 `192.168.1.100`。 # 列出集合中的所有 IP 地址: ipset list myset # 這會(huì)列出名為 `myset` 的集合中的所有 IP 地址。 # 將一個(gè)集合中的 IP 地址備份到文件中: ipset save myset > myset.txt # 這會(huì)將名為 `myset` 的集合中的內(nèi)容保存到 `myset.txt` 文件中。 # 從文件中恢復(fù) IP 集合: ipset restore < myset.txt # 這會(huì)從 `myset.txt` 文件中恢復(fù) IP 集合的內(nèi)容到 `myset`。 # 刪除一個(gè) IP 集合: ipset destroy myset # 這會(huì)刪除名為 `myset` 的 IP 集合。 ipset test myset 192 .168.1.100 # 這將檢查名為 myset 的 ipset 集合中是否包含 192.168.1.100 這個(gè) IP 地址。如果這個(gè) IP 存在于集合中,命令會(huì)返回 192.168.1.100 is in set myset.;否則會(huì)返回 192.168.1.100 is NOT in set myset。
測(cè)試 主機(jī)監(jiān)聽(tīng)8080而不監(jiān)聽(tīng)80 47.94.58.144 telnet 80通
會(huì)員登錄
賬號(hào)登錄 還沒(méi)有賬號(hào)?立即注冊(cè)