導航:首頁 > 操作系統 > linux刪除iptables

linux刪除iptables

發布時間:2022-07-05 08:29:02

⑴ 如何修改linux iptables

1.首先介紹一下指令和相關配置文件
啟動指令:service
iptables
start
重啟指令:service
iptables
restart
關閉指令:service
iptables
stop
然後是相關配置:/etc/sysconfig/iptables
如何操作該配置呢?
vim
/etc/sysconfig/iptables
然後進去修改即可,修改完了怎麼辦?這里很多人會想到/etc/rc.d/init.d/iptables
save指令,但是一旦你這么幹了你剛才的修改內容就白做了。。。
具體方法是:
只修改/etc/sysconfig/iptables
使其生效的辦法是修改好後先service
iptables
restart,然後才調用/etc/rc.d/init.d/iptables
save,
因為/etc/rc.d/init.d/iptables
save會在iptables服務啟動時重新載入,要是在重啟之前直接先調用了/etc/rc.d/init.d/iptables
save那麼你
的/etc/sysconfig/iptables
配置就回滾到上次啟動服務的配置了,這點必須注意!!!
2.下面介紹一些指令用法(主要還是man iptables看下相關資料才行)
-A:指定鏈名
-p:指定協議類型
-d:指定目標地址
--dport:指定目標埠(destination
port
目的埠)
--sport:指定源埠(source
port
源埠)
-j:指定動作類型
3.如果我不像修改文件直接打命令可以嗎,當然沒問題,步驟如下:
例如我給SSH加放行的語句:
添加input記錄:
iptables
-A
INPUT
-p
tcp
--dport
22
-j
ACCEPT
添加output記錄:
iptables
-A
OUTPUT
-p
tcp
--sport
22
-j
ACCEPT
最後注意需要再執行一下
/etc/init.d/iptables
save,這樣這兩條語句就保存到剛才那個/etc/sysconfig/iptables
文件中了。
4.接下來說明一下步驟,如果機器不在我身邊,我只能SSH進去做iptables規則,那麼我必須注意每一步,千萬別搞錯了,否則就SSH鏈接不上都有可能!
首先要做的是給咱的SSH進行ACCEPT配置,以免直接無法連接的情況發生:
1.如果SSH埠是22(這里不建議用默認埠最好改掉SSH埠)
iptables
-A
INPUT
-p
tcp
--dport
22
-j
ACCEPT
iptables
-A
OUTPUT
-p
tcp
--sport
22
-j
ACCEPT
注意要/etc/rc.d/init.d/iptables
save,以下每一步都最好執行一遍此語句,以下不再累述。
2.vim
/etc/sysconfig/iptables確定是否已經加入配置,可以的話執行service
iptables
restart重啟後生效
3.下面是很危險的操作,如果你第一步沒做就會直接可能導致你連不上SSH,此步驟前切記執行第一步!!!
iptables
-P
INPUT
DROP

iptables
-P
OUTPUT
DROP

iptables
-P
FORWARD
DROP
這個步驟是把所有不符合自己配置的規則ACCEPT的連接全部DROP掉,執行完以後如果咱SSH還沒掉,那麼謝天謝地,安全了,重啟下iptables後繼續下面的配置!
4.下面咱就不細說了,具體就是看自己伺服器要開放哪些埠或者是要訪問哪些埠來做具體的配置,下面是我自己的機器的配置:
/etc/sysconfig/iptables文件配置如下:
#
Generated
by
iptables-save
v1.4.7
on
Fri
Mar
2
19:59:43
2012
*filter
:INPUT
DROP
[0:0]
:FORWARD
DROP
[0:0]
:OUTPUT
DROP
[8:496]
-A
INPUT
-m
state
--state
RELATED,ESTABLISHED
-j
ACCEPT
#ping使用的埠
-A
INPUT
-p
icmp
-j
ACCEPT
-A
INPUT
-i
lo
-j
ACCEPT
-A
INPUT
-s
127.0.0.1/32
-d
127.0.0.1/32
-j
ACCEPT
-A
INPUT
-s
192.168.2.200/32
-d
192.168.2.200/32
-j
ACCEPT
#允許伺服器自己的SSH(對外部請求來說伺服器是目標所以使用--dport)
-A
INPUT
-p
tcp
-m
tcp
--dport
22
-j
ACCEPT
#80埠不用說了吧,伺服器網站訪問埠
-A
INPUT
-p
tcp
-m
tcp
--dport
80
-j
ACCEPT
-A
INPUT
-p
tcp
-m
tcp
--dport
3306
-j
ACCEPT
-A
INPUT
-p
tcp
-m
tcp
--dport
11211
-j
ACCEPT
-A
INPUT
-p
tcp
-m
tcp
--dport
11212
-j
ACCEPT
-A
FORWARD
-j
REJECT
--reject-with
icmp-host-prohibited
#53埠是DNS相關,TCP和UDP都要配置
-A
INPUT
-p
tcp
-m
tcp
--dport
53
-j
ACCEPT
-A
INPUT
-p
udp
-m
udp
--dport
53
-j
ACCEPT
#ping使用的埠
-A
OUTPUT
-p
icmp
-j
ACCEPT
-A
OUTPUT
-s
127.0.0.1/32
-d
127.0.0.1/32
-j
ACCEPT
-A
OUTPUT
-s
192.168.2.200/32
-d
192.168.2.200/32
-j
ACCEPT
#允許伺服器SSH到其他機器(使用外部埠就使用--dport)
-A
OUTPUT
-p
tcp
-m
tcp
--dport
22
-j
ACCEPT
#允許伺服器自己的SSH(自已為源輸出就使用--sport)
-A
OUTPUT
-p
tcp
-m
tcp
--sport
22
-j
ACCEPT
#訪問外部網站80埠(使用外部埠就使用--dport)
-A
OUTPUT
-p
tcp
-m
tcp
--dport
80
-j
ACCEPT
#如果伺服器需要訪問外部網站,那麼OUTPUT也需要配置53埠(使用外部埠就使用--dport)
-A
OUTPUT
-p
tcp
-m
tcp
--dport
53
-j
ACCEPT
-A
OUTPUT
-p
udp
-m
udp
--dport
53
-j
ACCEPT
#如果有訪問外部郵箱,那麼打開郵箱相關埠(使用外部埠就使用--dport)
-A
OUTPUT
-p
tcp
-m
tcp
--dport
465
-j
ACCEPT
-A
OUTPUT
-p
tcp
-m
tcp
--dport
25
-j
ACCEPT
-A
OUTPUT
-p
tcp
-m
tcp
--dport
110
-j
ACCEPT
#伺服器網站訪問埠(自已為源輸出就使用--sport)
-A
OUTPUT
-p
tcp
-m
tcp
--sport
80
-j
ACCEPT
-A
OUTPUT
-p
tcp
-m
tcp
--sport
3306
-j
ACCEPT
-A
OUTPUT
-p
tcp
-m
tcp
--sport
11211
-j
ACCEPT
-A
OUTPUT
-p
tcp
-m
tcp
--sport
11212
-j
ACCEPT
COMMIT
#
Completed
on
Fri
Mar
2
19:59:43
2012
5.可能有時候需要刪除規則,最簡單就是修改一下/etc/sysconfig/iptables然後service iptables restart,最後/etc/rc.d/init.d/iptables save即可。
當然也可以使用指令完成:
在網上找了一下,刪除規則的方法:
語法是:
iptables
-D
chain
rulenum
[options]
其中:
chain
是鏈的意思,就是INPUT
FORWARD
之類的
rulenum
是規則的編號。從1
開始。可以使用
--line-numbers
列出規則的編號

所以,例如上面要刪除一個INPUT鏈的規則的話可以這樣:iptables
-D
INPUT
3
意思是刪除第3條規則。
還有第二種方法。第二種辦法是
-A
命令的映射,不過用-D替換-A。當你的鏈中規則很復雜,而你不想計算它們的編號的時候這就十分有用了。也就是說,你如何用iptables
-A....
語句定義了一個規則,則刪除此規則時就用
-D
來代替-
A
其餘的都不變即可。
======================
說一下上面的
--line-numbers
選項,如下面的命令:
iptables
-L
INPUT
--line-numbers
列出INPUT
鏈所有的規則
num
target
prot
opt
source
destination

1
REJECT
tcp
--
anywhere
anywhere
tcp
dpt:microsoft-ds
reject-with
icmp-port-unreachable
2
REJECT
tcp
--
anywhere
anywhere
tcp
dpt:135
reject-with
icmp-port-unreachable
3
REJECT
tcp
--
anywhere
anywhere
tcp
dpt:netbios-ssn
reject-with
icmp-port-unreachable
...
...
刪除指定行規則:
[root@localhost
rc.d]#
iptables
-D
INPUT
4
6.最後補充一下,如果想針對某IP進行單獨開放埠可以如下配置:
如果我需要對內網某機器單獨開放mysql埠,應該如下配置:
iptables
-A
INPUT
-s
192.168.2.6
-p
tcp
-m
tcp
--dport
3306
-j
ACCEPT
iptables
-A
OUTPUT
-s
192.168.2.6
-p
tcp
-m
tcp
--sport
3306
-j
ACCEPT
7.徹底禁止某IP訪問:
#屏蔽單個IP的命令是
iptables
-I
INPUT
-s
123.45.6.7
-j
DROP
#封整個段即從123.0.0.1到123.255.255.254的命令
iptables
-I
INPUT
-s
123.0.0.0/8
-j
DROP
#封IP段即從123.45.0.1到123.45.255.254的命令
iptables
-I
INPUT
-s
124.45.0.0/16
-j
DROP
#封IP段即從123.45.6.1到123.45.6.254的命令是
iptables
-I
INPUT
-s
123.45.6.0/24
-j
DROP
指令I是insert指令
但是該指令會insert在正確位置並不像A指令看你自己的排序位置,因此用屏蔽因為必須在一開始就要載入屏蔽IP,所以必須使用I命令載入,然後注意執行/etc/rc.d/init.d/iptables
save進行保存後重啟服務即可

⑵ linux怎麼清除防火牆規則

設置防火牆規則的步驟如下:
一、區域網內共享的天網防火牆設置

1、首先保證在沒有裝防火牆的情況下區域網內是可以相互通訊的(如果你連這個都不能保障那麼就不是防火牆的問題了)
2、在防火牆的系統設置裡面按刷新,設置好本地區域網的IP地址
3、在自定義IP規則的TCP協議里把其中『允許區域網內的機器進行連接和傳輸』打上勾,並且保存規則
4、訪問網路
如果共享列印機不能使用的,那就要開放對應的連接埠就可以了

二、設置規則開放WEB服務的步驟
1、進入防火牆自定義IP規則,增加規則
2、輸入名稱、說明 (可任意輸入,以便查閱)
3、設置數據包方向——接收和發送,對方IP地址——任何地址
4、設置TCP本地埠80到80,對方埠0到0,TCP標志位為SYN,當滿足上面條件時「通行」,確定
5、在IP規則列表中把該規則上移到TCP協議的第一條,並選上勾再保存

三、設置規則開放FTP服務的步驟
1、進入防火牆自定義IP規則,增加規則
2、輸入名稱、說明 (可任意輸入,以便查閱)
3、設置數據包方向——接收和發送,對方IP地址——任何地址
4、設置TCP本地埠20到21,對方埠0到0,TCP標志位為SYN,當滿足上面條件時「通行」,確定
5、在IP規則列表中把該規則上移到TCP協議的第一條,並選上勾再保存
其它埠的開放設置方法類似

四、關閉或開放特定埠
例,關閉TCP 139埠
1、進入防火牆自定義IP規則,增加規則
2、輸入名稱、說明 (可任意輸入,以便查閱)
3、設置數據包方向——接收或發送,對方IP地址——任何地址
4、設置TCP本地埠139到139,對方埠0到0,TCP標志位為SYN,當滿足上面條件時『攔截』,確定;同時還:記錄、警告、發聲(視個人設置喜好,可選擇若干方式)
5、在IP規則列表中把該新規則上移到TCP協議的第一條,並選上勾再保存
其它埠的關閉設置方法類似;如要開放埠的,設置後把『攔截』改為『通行』就可以了。

五、設置規則屏蔽或開放IP的步驟
1、進入防火牆自定義IP規則,增加規則
2、輸入名稱、說明 (可任意輸入,以便查閱)
3、設置數據包方向——接收和發送,對方IP地址——指定地址
4、選擇IP協議,當滿足上面條件時「攔截」,確定
5、在IP規則列表中把該規則上移到IP協議的第一條,並把新規則和IP規則選上勾再保存
屏蔽IP的方法如上;但如果要開放指定IP的,設置後把『攔截』改為『通行』就可以了。

⑶ Linux裡面iptables作用是什麼

iptables簡稱netfilter/iptables(簡稱為iptables)組成Linux平台下的包過濾防火牆,與大多數的Linux軟體一樣,這個包過濾防火牆是免費的,它可以代替昂貴的商業防火牆解決方案,完成封包過濾、封包重定向和網路地址轉換(NAT)等功能。
iptables基礎
規則(rules)其實就是網路管理員預定義的條件,規則一般的定義為「如果數據包頭符合這樣的條件,就這樣處理這個數據包」。規則存儲在內核空間的信息包過濾表中,這些規則分別制定了源地址、目的地址、傳輸協議(如TCP、UDP、ICMP)和服務類型(如HTTP、FTP和SMTP)等。當數據包與規則匹配時,iptables就根據規則所定義的方法來處理這些數據包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火牆的主要工作就是添加、修改和刪除這些規則。
iptables和netfilter的關系
這是第一個要說的地方,Iptables和netfilter的關系是一個很容易讓人搞不清的問題。很多的知道iptables卻不知道netfilter。其實iptables只是Linux防火牆的管理工具而已,位於/sbin/iptables。真正實現防火牆功能的是netfilter,它是Linux內核中實現包過濾的內部結構。
iptables傳輸數據包的過程
① 當一個數據包進入網卡時,它首先進入PREROUTING鏈,內核根據數據包目的IP判斷是否需要轉送出去。
② 如果數據包就是進入本機的,它就會沿著圖向下移動,到達INPUT鏈。數據包到了INPUT鏈後,任何進程都會收到它。本機上運行的程序可以發送數據包,這些數據包會經過OUTPUT鏈,然後到達POSTROUTING鏈輸出。
③ 如果數據包是要轉發出去的,且內核允許轉發,數據包就會如圖所示向右移動,經過FORWARD鏈,然後到達POSTROUTING鏈輸出。

⑷ linux中iptables防火牆怎麼設置

一,安裝並啟動防火牆
[root@linux ~]# /etc/init.d/iptables start
當我們用iptables添加規則,保存後,這些規則以文件的形勢存在磁碟上的,以CentOS為例,文件地址是/etc/sysconfig/iptables,我們可以通過命令的方式去添加,修改,刪除規則,也可以直接修改/etc/sysconfig/iptables這個文件就行了。
1.載入模塊
/sbin/modprobe ip_tables
2.查看規則
iptables -L -n -v
3.設置規則
#清除已經存在的規則
iptables -F
iptables -X
iptables -Z
#默認拒絕策略(盡量不要這樣設置,雖然這樣配置安全性高,但同時會拒絕包括lo環路在內的所#有網路介面,導致出現其他問題。建議只在外網介面上做相應的配置)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#ssh 規則
iptables -t filter -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp –sport 22 -j ACCEPT
#本地還回及tcp握手處理
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
#www-dns 規則
iptables -I INPUT -p tcp –sport 53 -j ACCEPT
iptables -I INPUT -p udp –sport 53 -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp –sport 80 -j ACCEPT
#ICMP 規則
iptables -A INPUT -p icmp –icmp-type echo-request-j ACCEPT
iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT
二,添加防火牆規則
1,添加filter表
1.[root@linux ~]# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT //開放21埠
出口我都是開放的iptables -P OUTPUT ACCEPT,所以出口就沒必要在去開放埠了。
2,添加nat表
1.[root@linux ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
將源地址是 192.168.10.0/24 的數據包進行地址偽裝
3,-A默認是插入到尾部的,可以-I來插入到指定位置
1.[root@linux ~]# iptables -I INPUT 3 -p tcp -m tcp --dport 20 -j ACCEPT
2.[root@linux ~]# iptables -L -n --line-number
3.Chain INPUT (policy DROP)
4.num target prot opt source destination
5.1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
6.2 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
7.3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 //-I指定位置插的
8.4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
9.5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
10.6 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
11.7 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID,NEW
12.8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 //-A默認插到最後
13.Chain FORWARD (policy ACCEPT)
14.num target prot opt source destination
15.Chain OUTPUT (policy ACCEPT)
16.num target prot opt source destination
三,查下iptable規則
1,查看filter表
1.[root@linux ~]# iptables -L -n --line-number |grep 21 //--line-number可以顯示規則序號,在刪除的時候比較方便
2.5 ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:21
如果不加-t的話,默認就是filter表,查看,添加,刪除都是的
2,查看nat表
1.[root@linux ~]# iptables -t nat -vnL POSTROUTING --line-number
2.Chain POSTROUTING (policy ACCEPT 38 packets, 2297 bytes)
3.num pkts bytes target prot opt in out source destination
4.1 0 0 MASQUERADE all -- * * 192.168.10.0/24 0.0.0.0/0
四,修改規則
1.[root@linux ~]# iptables -R INPUT 3 -j DROP //將規則3改成DROP
五,刪除iptables規則
1.[root@linux ~]# iptables -D INPUT 3 //刪除input的第3條規則
2.[root@linux ~]# iptables -t nat -D POSTROUTING 1 //刪除nat表中postrouting的第一條規則
3.[root@linux ~]# iptables -F INPUT //清空 filter表INPUT所有規則
4.[root@linux ~]# iptables -F //清空所有規則
5.[root@linux ~]# iptables -t nat -F POSTROUTING //清空nat表POSTROUTING所有規則
六,設置默認規則
1.[root@linux ~]# iptables -P INPUT DROP //設置filter表INPUT默認規則是 DROP
所有添加,刪除,修改後都要保存起來,/etc/init.d/iptables save.上面只是一些最基本的操作,要想靈活運用,還要一定時間的實際操作。
iptables配置常規映射及軟路由
作用:虛擬化雲平台伺服器網段192.168.1.0/24 通過一台linux伺服器(eth0:192.168.1.1、eth1:10.0.0.5)做軟路由達到訪問10.0.0.5能訪問的網路范圍,並且通過iptables的NAT映射提供服務。
NAT 映射網路埠:
效果: 10.0.0.5:2222 —-》 192.168.1.2:22
命令:iptable -t nat -A PREROUTING -D 10.0.0.5 -p tcp –dport 2222 -j DNAT –to-destination 192.168.1.2:22
service iptables save
service iptables restart
注意:1.在192.168.1.2的網路配置上需要將NAT主機的內網ip即192.168.1.1作為默認網關,如果10.0.0.5具有公網訪問許可權,dns則設置成公網對應dns
2. echo 1 》 /proc/sys/net/ip_forward 在NAT 主機上需要開啟轉發才能生效
軟路由192.168.1.0/24通過10.0.0.5訪問外網:
命令:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT –to-source 10.0.0.5
service iptables save
service iptables restart

⑸ linux怎麼刪除iptables的nat表

你好,iptables的具體內容都是在這個文件內 /etc/sysconfig/iptables,你直接去操作。

⑹ linux 防火牆清除規則可以還原嗎

可以的,,如果你只是使用iptables -F 清除的話,是不會真正清除的,,只是這次暫時性的刪除了 要恢復直接重啟iptables服務即可重新讀回原來的配置規則

⑺ linux怎麼刪除路由轉換規則iptables

使用的是iptables嗎?
如果是iptables的話,清除規則:
#
iptables
-F
注意!清除規則是恢復到默認規則,如果默認規則為ACCEPT那就全是ACCEPT,如果默認規則是DROP的話,那就是全DROP了。

閱讀全文

與linux刪除iptables相關的資料

熱點內容
手工粘土解壓球 瀏覽:548
在線視頻教育源碼 瀏覽:39
快四十學什麼編程 瀏覽:754
gnumakelinux 瀏覽:537
視易峰雲伺服器怎麼改系統 瀏覽:535
javamap取值 瀏覽:768
mac和win磁碟加密軟體 瀏覽:474
蘋果為什麼會連接不到伺服器 瀏覽:726
pdf格式文件如何保存 瀏覽:303
小霸王伺服器tx什麼意思 瀏覽:75
解釋dns命令 瀏覽:584
dmx512怎麼編程 瀏覽:744
北京雲主機17t雲伺服器 瀏覽:232
php伺服器url地址 瀏覽:440
哪裡看書免費app 瀏覽:437
php刪除數組中重復值 瀏覽:786
經理下命令咱都別說話是什麼意思 瀏覽:625
上海風機可編程式控制制器價格 瀏覽:249
工行app取消自動轉賬功能在哪裡 瀏覽:719
傳奇特殊命令 瀏覽:677