導航:首頁 > 編程系統 > linux配置iptable

linux配置iptable

發布時間:2023-11-17 17:47:38

Ⅰ 配置 linux Iptable, 請高手幫忙,高分求助!!

iptabls規則是從上往下應用,當找到能通過的規則,不管下面是否有規則沖突,也一樣通過
eth0 連接內部網路的網卡
eth1 連接外部網路的網卡
lo 本地環路
1,丟棄所有來自外網的ftp包,內網例外
iptables -A -i lo -j ACCEPT(允許本機內部所有網路通信,必須的)
iptables -A -i eht0 -p tcp --dport 21 -j ACCEPT(在本機開放21埠,即ftp控制埠)
iptables -A -i eth0 -p tcp --dport 20 -j ACCEPT(在本機開放20埠,即ftp傳輸埠)
iptables -A -i eth1 -j DROP(禁止所有數據包通過){禁止外部ftp}
2,允許ssh禁止telnet
iptables -A -i lo -j ACCEPT(允許本機內部所有網路通信,必須的)
iptables -A -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A -i eth1 -p tcp --dport 22 -j ACCEPT
(在本機開放22埠,即ssh服務埠)
iptables -A -i eth1 -p tcp --dport 23 -j DROP(在本機關閉23埠,即telnet服務埠)或者用iptables -A -i eth0 -j DROP
3,禁止使用ping命令,ping本機
iptables -A -p icmp --icmp-type 8 -s 0/0 -j DROP(0/0所有網路)
iptables -A -p icmp --icmp-type 0 -s 0/0 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -s 192.168.29.1(本機ip) -j DROP
iptables -A OUTPUT -p icmp --icmp-type 8 -s 192.168.29.1 -j ACCEPT
這樣的配置是你能ping別人,別人不能ping你
4,禁止訪問21埠(ftp)和80埠(web)
iptables -A -i eth1 -p tcp --dprot 21 -j DROP
iptables -A -i eth0 -p tcp --dprot 21 -j DROP
iptables -A -i eth1 -p tcp --dprot 80 -j DROP
iptables -A -i eth0 -p tcp --dprot 80 -j DROP
5,禁止所有udp埠
iptables -A -i eth0 -p udp -j DROP
iptables -A -i eth1 -p udp -j DROP
6,禁止外部郵件通信,內部允許(禁止pop3,110和smtp,25)
iptables -A -i eth0 -p tcp --dprot 25 -j ACCEPT
iptables -A -i eth0 -p tcp --dprot 110 -j ACCEPT
iptables -A OUTPUT -i eth1 -p tcp --sprot 25 -j DROP
iptables -A OUTPUT -i eth1 -p tcp --sprot 110 -j DROP
7,禁止2個特定網路訪問本機
iptables -A -i eth1 -s 192.168.1.0/24 -j DROP
iptables -A -i eth1 -s 172.16.0.0/16 -j DROP
8,允許從特的埠進入,但禁止對外
iptables -A -i eht1 --dport [埠號] -j ACCEPT
iptables -A OUTPUT -i eht1 --dport [埠號] -j DROP

Ⅱ 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下的iptable實現nat網關。(DNS,DHCP,外網,內部區域網)

iptables -A INPUT -i 內網卡 -j ACCEPT
這行是讓NAT主機接收內網數據包
echo "1" > /proc/sys/net/ipv4/ip_forward
這行是讓Linux主機由router功能
iptables -t nat -A POSTROUTING -s 內網ip段 -o 外網網卡 -p tcp --dport 80 -j MASQUERADE
這行就是做個NAT了,使內網可訪問外網。

Ⅳ linux iptables -m 參數

From "man iptables":

MATCH EXTENSIONS

iptables can use extended packet matching moles. These are loaded
in two ways: implicitly, when -p or --protocol is specified, or with
the -m or --match options, followed by the matching mole name; after
these, various extra command line options become available, depending
on the specific mole.

使用示例:
允許訪問tcp 80埠:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

丟棄所有INVALID的包:
-A INPUT -p ALL -m state --state INVALID -j DROP

具體存在哪些協議/模塊和相關參數,查閱你的iptable版本的相關文檔。

Ⅳ 在linux 下如何設置iptables 防火牆

Linux系統內核內建了netfilter防火牆機制。Netfilter(數據包過濾機制),所謂的數據包過濾,就是分析進入主機的網路數據包,將數據包的頭部數據提取出來進行分析,以決該連接為放行或阻擋的機制。Netfilter提供了iptables這個程序來作為防火牆數據包過濾的命令。Netfilter是內建的,效率非常高。
我們可以通過iptables命令來設置netfilter的過濾機制。
iptables里有3張表:
> Filter(過濾器),進入Linux本機的數據包有關,是默認的表。
> NAT(地址轉換),與Linux本機無關,主要與Linux主機後的區域網內計算機相關。
> Mangle(破壞者),這個表格主要是與特殊的數據包的路由標志有關(通常不用涉及到這個表的修改,對這個表的修改破壞性很大,慎改之)。
每張表裡都還有多條鏈:

Filter:INPUT, OUTPUT, FORWARD
NAT:PREROUTING, POSTROUTING, OUTPUT
Mangle:PREROUTING, OUTPUT, INPUT, FORWARD
iptables命令的使用
基本格式:iptables [-t table] -CMD chain CRETIRIA -j ACTION
-t table:3張表中的其中一種filter, nat, mangle,如果沒有指定,默認是filter。
CMD:操作命令。查看、添加、替換、刪除等。
chain:鏈。指定是對表中的哪條鏈進行操作,如filter表中的INPUT鏈。
CRETIRIA:匹配模式。對要過濾的數據包進行描述
ACTION:操作。接受、拒絕、丟棄等。
查看

格式:iptables [-t table] -L [-nv]
修改

添加
格式:iptables [-t table] -A chain CRETIRIA -j ACTION
將新規則加入到表table(默認filter)的chain鏈的最後位置

插入

格式:iptables [-t table] -I chain pos CRETIRIA -j ACTION
將新規則插入到table表(默認filter)chain鏈的pos位置。原來之後的規則都往後推一位。pos的有效范圍為:1 ~ num+1
替換

格式:iptables [-t table] -R chain pos CRETIRIA -j ACTION
用新規則替換table表(默認filter)chain鏈的pos位置的規則。pos的有效范圍為:1 ~ num
刪除

格式:iptables [-t table] -D chain pos
刪除table表(默認filter)chain鏈的pos位置的規則。pos的有效范圍為:1 ~ num
包匹配(CRETIRIA)

上面沒有介紹CRETIRIA的規則,在這小節里詳細介紹。包匹配就是用於描述需要過濾的數據包包頭特殊的欄位。
指定網口:

-i :數據包所進入的那個網路介面,例如 eth0、lo等,需與INPUT鏈配合
-o: 數據包所傳出的那麼網路介面,需與OUTPUT鏈配合
指定協議:

-p:tcp, udp, icmp或all
指定IP網路:
-s:來源網路。可以是IP或網路
IP: 192.168.0.100
網路: 192.168.0.0/24 或 192.168.0.0/255.255.255.0 均可
可以在前加 ! 表示取反
-d:目標網格。同 -s
指定埠:
--sport:指定來源埠。可以是單個埠,還可以是連續的埠,例如:1024:65535。
--dport:指定目標埠。同--sport
注意:要指定了tcp或udp協議才會有效。
指定MAC地址:
-m mac --mac-source aa:bb:cc:dd:ee:ff
指定狀態:
-m state --state STATUS
STATUS可以是:
> INVALID,無效包
> ESTABLISHED,已經連接成功的連接狀態
> NEW,想要新立連接的數據包
> RELATED,這個數據包與主機發送出去的數據包有關,(最常用)
例如:只要已建立連接或與已發出請求相關的數據包就予以通過,不合法數據包就丟棄
-m state --state RELATED,ESTABLISHED
ICMP數據比對

ping操作發送的是ICMP包,如果不想被ping到,就可以拒絕。
--icmp-type TYPE
TYPE如下:
8 echo-request(請求)
0 echo-reply(響應)

注意:需要與 -p icmp 配合使用。

操作(ACTION)

DROP,丟棄
ACCEPT,接受
REJECT,拒絕
LOG,跟蹤記錄,將訪問記錄寫入 /var/log/messages

保存配置

將新設置的規則保存到文件
格式:iptables-save [-t table]
將當前的配置保存到 /etc/sysconfig/iptables

其它

格式:iptables [-t table] [-FXZ]
-F :請除所有的已制訂的規則
-X :除掉所有用戶「自定義」的chain
-Z :將所有的統計值清0

閱讀全文

與linux配置iptable相關的資料

熱點內容
瑞斯康達網路管理界面 瀏覽:254
ca證書管理器linux 瀏覽:358
蘋果id安全提示問題3個字元 瀏覽:949
iphone上好的拍照軟體 瀏覽:579
word內嵌文件怎麼下載 瀏覽:864
8s16升級 瀏覽:340
計算機網路技術基礎pdf 瀏覽:544
javafrom提交地址參數 瀏覽:721
git發布版本 瀏覽:728
vc修改文件名 瀏覽:149
linux65從域 瀏覽:321
用什麼東西壓縮文件 瀏覽:406
怎麼刪除ipad隱藏的APP 瀏覽:981
編程如何佔用大量內存 瀏覽:116
多個excel表格文件如何組合 瀏覽:918
ubuntu內核升級命令 瀏覽:679
pgp文件夾 瀏覽:894
一鍵還原的文件是什麼格式 瀏覽:581
女漢子微信名霸氣十足 瀏覽:65
win10手機藍屏修復 瀏覽:419

友情鏈接