溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

iptables中怎么配置防火墻

發(fā)布時(shí)間:2021-07-13 11:27:49 來源:億速云 閱讀:167 作者:Leah 欄目:云計(jì)算

iptables中怎么配置防火墻,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

iptables簡介

iptables是基于內(nèi)核的防火墻,功能非常強(qiáng)大,iptables內(nèi)置了filter,nat和mangle三張表。

filter負(fù)責(zé)過濾數(shù)據(jù)包,包括的規(guī)則鏈有,input,output和forward;

nat則涉及到網(wǎng)絡(luò)地址轉(zhuǎn)換,包括的規(guī)則鏈有,prerouting,postrouting和output;

mangle表則主要應(yīng)用在修改數(shù)據(jù)包內(nèi)容上,用來做流量×××的,默認(rèn)的規(guī)則鏈有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;

input匹配目的IP是本機(jī)的數(shù)據(jù)包,forward匹配流經(jīng)本機(jī)的數(shù)據(jù)包,prerouting用來修改目的地址用來做DNAT,postrouting用來修改源地址用來做SNAT。

iptables主要參數(shù)

-A 向規(guī)則鏈中添加一條規(guī)則,默認(rèn)被添加到末尾

-T指定要操作的表,默認(rèn)是filter

-D從規(guī)則鏈中刪除規(guī)則,可以指定序號(hào)或者匹配的規(guī)則來刪除

-R進(jìn)行規(guī)則替換

-I插入一條規(guī)則,默認(rèn)被插入到首部

-F清空所選的鏈,重啟后恢復(fù)

-N新建用戶自定義的規(guī)則鏈

-X刪除用戶自定義的規(guī)則鏈

-p用來指定協(xié)議可以是tcp,udp,icmp等也可以是數(shù)字的協(xié)議號(hào),

-s指定源地址

-d指定目的地址

-i進(jìn)入接口

-o流出接口

-j采取的動(dòng)作,accept,drop,snat,dnat,masquerade

--sport源端口

--dport目的端口,端口必須和協(xié)議一起來配合使用

注意:所有鏈名必須大寫,表明必須小寫,動(dòng)作必須大寫,匹配必須小寫

iptable配置實(shí)例

iptable基本操作

iptables -L  列出iptables規(guī)則
iptables -F  清除iptables內(nèi)置規(guī)則
iptables -X  清除iptables自定義規(guī)則

設(shè)定默認(rèn)規(guī)則

在iptables規(guī)則中沒有匹配到規(guī)則則使用默認(rèn)規(guī)則進(jìn)行處理

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

配置SSH規(guī)則

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT  如果你把OUTPUT 設(shè)置成DROP,就需要加上這個(gè)規(guī)則,否則SSH還是不能登錄,因?yàn)镾SH服務(wù)只能進(jìn)不能出。

只允許192.168.0.3的機(jī)器進(jìn)行SSH連接

iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT

如果要允許,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.

允許loopback回環(huán)通信

IPTABLES -A INPUT -i lo -p all -j ACCEPT
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT

目的地址轉(zhuǎn)換,映射內(nèi)部地址

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dprot 81 -j DNAT --to 192.168.0.2:80
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dprot 81 -j DNAT --to 192.168.0.1-192.168.0.10

源地址轉(zhuǎn)換,隱藏內(nèi)部地址

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1-1.1.1.10

地址偽裝,動(dòng)態(tài)ip的NAT

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

masquerade和snat的主要區(qū)別在于,snat是把源地址轉(zhuǎn)換為固定的IP地址或者是地址池,而masquerade在adsl等方式撥號(hào)上網(wǎng)時(shí)候非常有用,因?yàn)槭菗芴?hào)上網(wǎng)所以網(wǎng)卡的外網(wǎng)IP經(jīng)常變化,這樣在進(jìn)行地址轉(zhuǎn)換的時(shí)候就要在每次都要修改轉(zhuǎn)換策略里面的ip,使用masquerade就很好的解決了這個(gè)問題,他會(huì)自己去探測外網(wǎng)卡獲得的ip地址然后自動(dòng)進(jìn)行地址轉(zhuǎn)換,這樣就算外網(wǎng)獲得的ip經(jīng)常變化也不用人工干預(yù)了。

開啟轉(zhuǎn)發(fā)功能

iptables -A FORWARD -i eth0 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT 只允許已建連接及相關(guān)鏈接對(duì)內(nèi)轉(zhuǎn)發(fā)
ptables -A FORWARD -i eth2 -o eh0 -j ACCEPT 允許對(duì)外轉(zhuǎn)發(fā)

過濾某個(gè)MAC

iptables -A FORWARD -m mac --mac -source MAC地址 -j DROP

報(bào)文經(jīng)過路由后,數(shù)據(jù)包中原有的MAC信息會(huì)被替換,所以在路由后的iptables中使用mac匹配沒有意義。

數(shù)據(jù)包整流

iptables -A FORWARD -d 192.168.0.1 -m limit --limit 50/s -j ACCEPT
iptables -A FORWARD -d 192.168.0.1 -j DROP

多端口匹配

用以一次匹配多個(gè)端口

iptables -A INPUT -p tcp -m muliport --dport s 21,22,25,80,110 -j ACCEPT

丟棄非法連接

iptables -A INPUT   -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables-A FORWARD -m state --state INVALID -j DROP

存儲(chǔ)于恢復(fù)iptables規(guī)則

iptables-save > somefile
iptables-restore < somefile

看完上述內(nèi)容,你們掌握iptables中怎么配置防火墻的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI