iptables

netfileter:防火墻內(nèi)核態(tài)
ip tables:防火墻用戶態(tài)(管理防火墻規(guī)則)

iptables的表和鏈
表包括不同的鏈,鏈包括大量的規(guī)則
4個(gè)表:
raw备籽,mangle慢显,nat,filter
5種鏈(一般在nat表里用):
INPUT(入站數(shù)據(jù)),OUTPUT(出站數(shù)據(jù)),FORWARD(轉(zhuǎn)發(fā)數(shù)據(jù)),
PREROUTING(路由選擇前),POSTROUTING(路由選擇后)

iptables基本用法:
iptables -t 表名 -選項(xiàng) 鏈名 條件匹配 -j 操作類型

常見選項(xiàng):
-A:在鏈的末尾追加一條規(guī)則
-I:在鏈的開頭(或指定序號(hào))插入一條規(guī)則
-L:列出所有的規(guī)則條目
-n:以數(shù)字形式顯示地址,端口等信息
--line-numbers:查看規(guī)則時(shí)核蘸,顯示規(guī)則的序號(hào)
-D:刪除鏈內(nèi)指定序號(hào)(或內(nèi)容)的一條規(guī)則
-F:清空所有的規(guī)則
-P:為指定的鏈設(shè)置默認(rèn)規(guī)則

條件匹配類型:
通用匹配:獨(dú)立使用
-p:指定協(xié)議
-s:源地址
-d:目標(biāo)地址
-i:入站網(wǎng)卡
-o:出站網(wǎng)卡
隱含匹配:依賴于某種通用匹配
--sport:源端口
--dport:目標(biāo)端口
--icmp-type:
--tcp-flags:
擴(kuò)展匹配:-m 模塊名

擴(kuò)展條件的方法
前提條件:有對(duì)應(yīng)的防火墻模塊支持
基本用法:
-m 擴(kuò)展模塊 --擴(kuò)展條件 條件值
示例:-m mac --mac-source 00:0C:29:74:BE:21

簡(jiǎn)化服務(wù)開啟規(guī)則
一條規(guī)則開放多個(gè)端口
比如web巍糯,ftp,mail客扎,ssh等
[root@hydra]# iptables -A INPUT -p tcp -m multiport --dports 20:22,25,80,110,143,16501:16800 -j ACCEPT
根據(jù)ip范圍封鎖主機(jī):
ssh登陸的ip范圍控制
允許192.168.1.10-192.168.4.20登陸
靜止從192.168.4.0/24網(wǎng)段其他主機(jī)登陸
[root@hydra]# iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 192.168.4.10-192.168.4.20 -j ACCEPT
[root@hydra]# iptables -A INPUT -p tcp --dport 22 -s 192.168.4.0/24 -j DROP

——————————————————————————————————————————————————————————
nat表典型應(yīng)用
SNAT源地址轉(zhuǎn)換(Source Network Address Translation)
修改數(shù)據(jù)包的源地址
僅用于nat表的POSTROUTING鏈

DNAT目標(biāo)地址轉(zhuǎn)換(Destination Network Address Translation)
修改數(shù)據(jù)包目標(biāo)地址(ip祟峦,端口)
僅用于nat表的PREROUTING,OUTPUT鏈

配置SNAT共享上網(wǎng)
配置的關(guān)鍵策略:
選擇出去的包徙鱼,針對(duì)來自局域網(wǎng)宅楞,
即將從外網(wǎng)接口發(fā)出去的包,將源ip地址修改為網(wǎng)關(guān)的公網(wǎng)ip地址
[root@gw1 ~]# iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth1 -j SNAT --to-source 174.16.16.1
(192.168.4.0/24局域網(wǎng)網(wǎng)段地址袱吆,eth1外網(wǎng)接口厌衙,174.16.16.1外網(wǎng)接口的ip地址)

地址偽裝策略
共享動(dòng)態(tài)公網(wǎng)ip地址實(shí)現(xiàn)上網(wǎng):
主要針對(duì)外網(wǎng)接口ip地址不固定的情況,
將SNAT改為MASQUERADE即可
對(duì)于ADSL寬帶撥號(hào)連接绞绒,網(wǎng)絡(luò)接口可寫為ppp+
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth1 -j MASQUERADE

——————————————————————————————————————————————————————
案例準(zhǔn)備:
gw1:192.168.4.1 174.16.16.1
svr:192.168.4.2
pc174.16.16.120
在svr上準(zhǔn)備dns服務(wù)婶希,web服務(wù),網(wǎng)頁內(nèi)容hydra 提供解析記錄:www.Anonymous.cn ——》174.16.16.1
從pc上能夠訪問以下地址:
http://174.16.16.1
http://www.Anonymous.cn

[root@svr ~]# vim /var/named/Anonymous.cn.zone
@ NS svr.Anonymous.cn.
svr A 192.168.4.2
www A 174.16.16.1

[root@svr ~]# vim /etc/named.conf
zone "Anonymous.cn" IN {
type master;
file "Anonymous.cn.zone";
};
[root@svr ~]# vim /var/www/html/test.html
hydra蓬衡!

內(nèi)網(wǎng)web主機(jī)能夠訪問internet喻杈,比如SNAT
linux網(wǎng)關(guān)服務(wù)器開啟ip路由轉(zhuǎn)發(fā),將web域名解析為網(wǎng)關(guān)的外網(wǎng)ip地址
[root@gw1 ~]# iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth1 -j SNAT --to-source 174.16.16.1(nat地址轉(zhuǎn)換)
[root@gw1 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1(開啟路由轉(zhuǎn)發(fā))

發(fā)布web狰晚,dns服務(wù)器
配置的關(guān)鍵策略:
在路由選擇之前筒饰,針對(duì)從外網(wǎng)接口收到的
訪問本機(jī)公網(wǎng)地址tcp 80端口的數(shù)據(jù)包
將其目標(biāo)地址修改位于內(nèi)網(wǎng)的web主機(jī)的ip地址
[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.4.2(允許公網(wǎng)訪問)
[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p udp --dport 53 -j DNAT --to-destination 192.168.4.2(發(fā)布dns服務(wù)地址)

發(fā)布ssh服務(wù)器
執(zhí)行ssh -p 2345 174.16.16.1時(shí),實(shí)際登陸192.168.4.2
[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p tcp --dport 2345 -j DNAT --to-destination 192.168.4.2:22
ps:sshd訪問響應(yīng)慢的問題壁晒,sshd會(huì)嘗試解析客戶機(jī)的fqdn瓷们,設(shè)置了一個(gè)不可用的dsn
ssh會(huì)gss驗(yàn)證方式
修改客戶端的/etc/ssh/ssh_config文件,禁用gss認(rèn)證
GSSAPIAuthentication no(改為no)

發(fā)布ftp服務(wù)器
注意事項(xiàng):加載模塊nf_nat_ftp秒咐,nf_conntrack_ftp
[root@gw1 ~]# modprobe -a nf_nat_ftp nf_conntrack_ftp
[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p tcp --dport 20:21 -j DNAT --to-destination 192.168.4.2

iptables導(dǎo)出/導(dǎo)入規(guī)則
使用iptables-save導(dǎo)出
[root@gw1~]# ipables-save > /root/myiptables.txt(把防火墻規(guī)則導(dǎo)入到自定義的文件夾)
使用iptables-restore導(dǎo)入
[root@gw1~]# iptables-restore < /root/myiptables.txt
開機(jī)后自動(dòng)加載億保存的規(guī)則
[root@gw1~]# iptables-save > /etc/sysconfig/iptables
[root@gw1~]# chkconfig iptables on

————————————————————————————————————————————————————————————————————

防火墻腳本
shell腳本的編寫:
vim建立代碼文件
使用變量
可執(zhí)行語句的編寫【免交互】
添加x權(quán)限

針對(duì)linux網(wǎng)關(guān)編寫腳本谬晕,提供SNAT共享上網(wǎng)策略
提供DNAT發(fā)布web,ftp服務(wù)的策略携取,編寫網(wǎng)絡(luò)型固蚤,主機(jī)型防護(hù)規(guī)則。

批量設(shè)置防火墻規(guī)則
編寫腳本文件——》開機(jī)時(shí)調(diào)用/etc/rc.local
防火墻規(guī)則的腳本化:
定義基本變量
必要時(shí)歹茶,內(nèi)核模塊和運(yùn)行參數(shù)調(diào)整
防火墻策略設(shè)計(jì):
各鏈的默認(rèn)規(guī)則
按表夕玩,鏈組織的具體規(guī)則
運(yùn)行環(huán)境處理
變量及模塊整理,
方便腳本的維護(hù)惊豺,重用燎孟,移植
必要的功能模塊預(yù)備

!/bin/bash

INET_IF=eth1
INET_IP=174.16.16.1
LAN_NET=192.168.4.0/24
LAN_WWW_IP=192.168.4.2
IPT=/sbin/iptables
... ...
/sbin/modprobe -a nf_nat_ftp nf_conntrack_ftp
... ...

主機(jī)型防火墻腳本
以filer表的INPUT鏈為主OUTPUT鏈次之
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
... ...
$IPT -P INPUT -p tcp --dport 8 -j ACCEPT
$IPT -P INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
... ...

網(wǎng)絡(luò)型防火墻腳本
以filter表的FORWRD鏈為主,網(wǎng)關(guān)上會(huì)用到nat表
$IPT -t nat -A POSTROUTING -s $LAN_NET -o $INET_IF -j SNAT --to-source $INET_IP
$IPT -t nat -A PREROUTING -i $INET_IF -d $INET_IP -p tcp --dport 80 -j DNAT --to-destination $LAN_WWW_IP
$IPT -A FORWARD -d $LAN_NET -i $INET_IF -m state --state ESTABLISHED,RELATED -j ACCEPT

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尸昧,一起剝皮案震驚了整個(gè)濱河市揩页,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌烹俗,老刑警劉巖爆侣,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萍程,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡兔仰,警方通過查閱死者的電腦和手機(jī)茫负,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乎赴,“玉大人忍法,你說我怎么就攤上這事¢藕穑” “怎么了饿序?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)羹蚣。 經(jīng)常有香客問我原探,道長(zhǎng),這世上最難降的妖魔是什么顽素? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任咽弦,我火速辦了婚禮,結(jié)果婚禮上戈抄,老公的妹妹穿的比我還像新娘。我一直安慰自己后专,他們只是感情好划鸽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著戚哎,像睡著了一般裸诽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上型凳,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天丈冬,我揣著相機(jī)與錄音,去河邊找鬼甘畅。 笑死埂蕊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疏唾。 我是一名探鬼主播蓄氧,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼槐脏!你這毒婦竟也來了喉童?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤顿天,失蹤者是張志新(化名)和其女友劉穎堂氯,沒想到半個(gè)月后蔑担,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡咽白,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年啤握,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片局扶。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恨统,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出三妈,到底是詐尸還是另有隱情畜埋,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布畴蒲,位于F島的核電站悠鞍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏模燥。R本人自食惡果不足惜咖祭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蔫骂。 院中可真熱鬧么翰,春花似錦、人聲如沸辽旋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽补胚。三九已至码耐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間溶其,已是汗流浹背骚腥。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瓶逃,地道東北人束铭。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像厢绝,于是被迫代替她去往敵國(guó)和親纯露。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容