主頁(yè) > 知識(shí)庫(kù) > Linux防火墻iptables簡(jiǎn)明教程

Linux防火墻iptables簡(jiǎn)明教程

熱門(mén)標(biāo)簽:外呼系統(tǒng) 家政服務(wù)網(wǎng)絡(luò) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 服務(wù)器配置 美團(tuán) 電話機(jī)器人搭建 硅谷的囚徒呼叫中心 解決方案
前幾天微魔部落再次遭受到個(gè)別別有用心的攻擊者的攻擊,順便給自己充個(gè)電,復(fù)習(xí)了一下linux下常見(jiàn)的防火墻iptables的一些內(nèi)容,但是無(wú)奈網(wǎng)上的很多教程都較為繁瑣,本著簡(jiǎn)明化學(xué)習(xí)的目的,微魔為大家剔除了許多冗余的內(nèi)容,提取出盡量多的精華部分成文,和大家共同學(xué)習(xí),本文涉及的內(nèi)容包括如下

Linux防火墻iptables簡(jiǎn)明教程
1.安裝iptables
2.查看現(xiàn)有的iptables規(guī)則
3.刪除某iptables規(guī)則
4.清除現(xiàn)有iptables規(guī)則
5.創(chuàng)建規(guī)則
6.設(shè)置開(kāi)機(jī)啟動(dòng)
7.保存iptables規(guī)則
8.iptables在手動(dòng)防CC攻擊中的簡(jiǎn)單應(yīng)用

1.安裝iptables

很多Linux已經(jīng)默認(rèn)安裝iptables,可使用后文的查看命令測(cè)試是否安裝
CentOS/RedHat下執(zhí)行:

yum install iptablesDebian/Ubuntu下執(zhí)行:

apt-get install iptables

2.查看現(xiàn)有的iptables規(guī)則

命令后面的line-number為顯示行號(hào)(將規(guī)則一則一則輸出,并顯示行號(hào)),可選,方便后文的刪除指令。
iptables -L -n --line-numbers

3.刪除某iptables規(guī)則

例如,刪除第12行的規(guī)則,行號(hào)可由之前的命令查看
iptables -D INPUT 12

4.清除現(xiàn)有iptables規(guī)則

iptables -F
iptables -X
iptables -Z

5.創(chuàng)建規(guī)則
a).開(kāi)放端口

命令iptables -A INPUT -j REJECT將屏蔽其他未授權(quán)的端口,因此請(qǐng)務(wù)必開(kāi)放22端口以保障SSH連接正常~

復(fù)制代碼
代碼如下:

#允許本機(jī)訪問(wèn)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允許已建立的或相關(guān)連的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允許所有本機(jī)向外的訪問(wèn)
iptables -A OUTPUT -j ACCEPT
# 允許訪問(wèn)22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允許訪問(wèn)80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允許FTP服務(wù)的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的話,規(guī)則也類(lèi)似,稍微修改上述語(yǔ)句就行
#禁止其他未允許的規(guī)則訪問(wèn)
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT


b).屏蔽ip

iptables -I INPUT -s 123.123.123.123 -j DROP可通過(guò)更換上述ip為ip段來(lái)達(dá)到屏蔽ip段的目的~

若需屏蔽整個(gè)ip段(123.0.0.1到123.255.255.254)則換為123.0.0.0/8
若需屏蔽ip段123.123.0.1到123.123.255.254,則換為124.123.0.0/16
若需屏蔽ip段123.123.123.1到123.123.123.254則換為123.123.123.0/24

6.設(shè)置開(kāi)機(jī)啟動(dòng)

一般在安裝iptables完成后,開(kāi)機(jī)啟動(dòng)會(huì)自動(dòng)設(shè)置成功,但在個(gè)別CentOS系統(tǒng)上,貌似還有些問(wèn)題,可以使用如下命令手動(dòng)設(shè)置
chkconfig --level 345 iptables on

7.保存iptables規(guī)則

service iptables save

8.iptables在手動(dòng)防CC攻擊中的簡(jiǎn)單應(yīng)用

關(guān)于獲取攻擊者ip的方法,可以通過(guò)很多方法獲取,如查看網(wǎng)站日志等,本文不再贅述。
a).建立要屏蔽的ip/ip段文件,名為ip.txt

#屏蔽的ip
123.4.5.6
#屏蔽的ip段(編寫(xiě)方法,同前文)
123.4.5.6/24b).建立block_ip.sh腳本文件

復(fù)制代碼
代碼如下:

#!/bin/sh
# Filename: block_ip.sh
# Purpose: blocks all IP address/network found in a text file
# The text file must have one IP address or network per line
#################################################################
# Change the following path/filename to match yours
IP_LIST_FILE=/path/to/ip.txt
#################################################################
# Don't change anything below unless you are a smarty pant!
#################################################################
IPTABLES_BIN=/sbin/iptables
# Get the IP address/network from the file and ignore any line starting with # (comments)
BAD_IP_ADDR_LIST=$(grep -Ev "^#" $IP_LIST_FILE)
# Now loop through the IP address/network list and ban them using iptabels
for i in $BAD_IP_ADDR_LIST
do
echo -n "Blocking $i ...";
$IPTABLES_BIN -A INPUT -s $i -j DROP
$IPTABLES_BIN -A OUTPUT -d $i -j DROP
echo "DONE.";
done
##################################################################
# END OF SCRIPT - NOTHING TO SEE HERE - THAT'S ALL FOLKS!
##################################################################

c).運(yùn)行腳本

sh /path/to/block_ip.sh

d).查看iptables規(guī)則是否生效/正確,這一步的命令,之前有提到哦,開(kāi)動(dòng)腦筋,實(shí)在忘了,點(diǎn)擊此處~

標(biāo)簽:北海 韶關(guān) 南昌 撫州 臨沂 烏蘭察布 防城港 邢臺(tái)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux防火墻iptables簡(jiǎn)明教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266