日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
13個(gè)關(guān)于Linux防火墻’iptables’的面試問(wèn)答

Nishita Agarwal是Tecmint的用戶,她將分享關(guān)于她剛剛經(jīng)歷的一家公司(印度的一家私人公司Pune)的面試經(jīng)驗(yàn)。在面試中她被問(wèn)及許多不同的問(wèn)題, 但她是iptables方面的專家,因此她想分享這些關(guān)于iptables的問(wèn)題和相應(yīng)的答案給那些以后可能會(huì)進(jìn)行相關(guān)面試的人。

目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、柳城網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

所有的問(wèn)題和相應(yīng)的答案都基于Nishita Agarwal的記憶并經(jīng)過(guò)了重寫。

“嗨,朋友!我叫Nishita Agarwal。我已經(jīng)取得了理學(xué)學(xué)士學(xué)位,我的專業(yè)集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲(chǔ)方面有1年多的經(jīng)驗(yàn)。我正在尋求職業(yè)上的變化,并將供職于印度的Pune公司。”

下面是我在面試中被問(wèn)到的問(wèn)題的集合。我已經(jīng)把我記憶中有關(guān)iptables的問(wèn)題和它們的答案記錄了下來(lái)。希望這會(huì)對(duì)您未來(lái)的面試有所幫助。

1. 你聽說(shuō)過(guò)Linux下面的iptables和Firewalld么?知不知道它們是什么,是用來(lái)干什么的?

答案: iptables和Firewalld我都知道,并且我已經(jīng)使用iptables好一段時(shí)間了。iptables主要由C語(yǔ)言寫成,并且以GNU GPL許可證發(fā)布。它是從系統(tǒng)管理員的角度寫的,***的穩(wěn)定版是iptables 1.4.21。iptables通常被用作類UNIX系統(tǒng)中的防火墻,更準(zhǔn)確的說(shuō),可以稱為iptables/netfilter。管理員通過(guò)終端 /GUI工具與iptables打交道,來(lái)添加和定義防火墻規(guī)則到預(yù)定義的表中。Netfilter是內(nèi)核中的一個(gè)模塊,它執(zhí)行***濾的任務(wù)。

Firewalld是RHEL/CentOS 7(也許還有其他發(fā)行版,但我不太清楚)中***的過(guò)濾規(guī)則的實(shí)現(xiàn)。它已經(jīng)取代了iptables接口,并與netfilter相連接。

2. 你用過(guò)一些iptables的GUI或命令行工具么?

答案: 雖然我既用過(guò)GUI工具,比如與Webmin結(jié)合的Shorewall;以及直接通過(guò)終端訪問(wèn)iptables,但我必須承認(rèn)通過(guò)Linux終端直接訪問(wèn) iptables能給予用戶更高級(jí)的靈活性、以及對(duì)其背后工作更好的理解的能力。GUI適合初級(jí)管理員,而終端適合有經(jīng)驗(yàn)的管理員。

3. 那么iptables和firewalld的基本區(qū)別是什么呢?

答案: iptables和firewalld都有著同樣的目的(***濾),但它們使用不同的方式。iptables與firewalld不同,在每次發(fā)生更改時(shí) 都刷新整個(gè)規(guī)則集。通常iptables配置文件位于‘/etc/sysconfig/iptables‘,而firewalld的配置文件位于‘ /etc/firewalld/‘。firewalld的配置文件是一組XML文件。以XML為基礎(chǔ)進(jìn)行配置的firewalld比iptables的配 置更加容易,但是兩者都可以完成同樣的任務(wù)。例如,firewalld可以在自己的命令行界面以及基于XML的配置文件下使用iptables。

4. 如果有機(jī)會(huì)的話,你會(huì)在你所有的服務(wù)器上用firewalld替換iptables么?

答案: 我對(duì)iptables很熟悉,它也工作的很好。如果沒(méi)有任何需求需要firewalld的動(dòng)態(tài)特性,那么沒(méi)有理由把所有的配置都從iptables移動(dòng)到 firewalld。通常情況下,目前為止,我還沒(méi)有看到iptables造成什么麻煩。IT技術(shù)的通用準(zhǔn)則也說(shuō)道“為什么要修一件沒(méi)有壞的東西呢?”。 上面是我自己的想法,但如果組織愿意用firewalld替換iptables的話,我不介意。

5. 你看上去對(duì)iptables很有信心,巧的是,我們的服務(wù)器也在使用iptables。

iptables使用的表有哪些?請(qǐng)簡(jiǎn)要的描述iptables使用的表以及它們所支持的鏈。

答案: 謝謝您的贊賞。至于您問(wèn)的問(wèn)題,iptables使用的表有四個(gè),它們是:

  • Nat 表

  • Mangle 表

  • Filter 表

  • Raw 表

Nat表 : Nat表主要用于網(wǎng)絡(luò)地址轉(zhuǎn)換。根據(jù)表中的每一條規(guī)則修改網(wǎng)絡(luò)包的IP地址。流中的包僅遍歷一遍Nat表。例如,如果一個(gè)通過(guò)某個(gè)接口的包被修飾(修改了 IP地址),該流中其余的包將不再遍歷這個(gè)表。通常不建議在這個(gè)表中進(jìn)行過(guò)濾,由NAT表支持的鏈稱為PREROUTING 鏈,POSTROUTING 鏈和OUTPUT 鏈。

Mangle表 : 正如它的名字一樣,這個(gè)表用于校正網(wǎng)絡(luò)包。它用來(lái)對(duì)特殊的包進(jìn)行修改。它能夠修改不同包的頭部和內(nèi)容。Mangle表不能用于地址偽裝。支持的鏈包括 PREROUTING 鏈,OUTPUT 鏈,F(xiàn)orward 鏈,Input 鏈和POSTROUTING 鏈。

Filter表 : Filter表是iptables中使用的默認(rèn)表,它用來(lái)過(guò)濾網(wǎng)絡(luò)包。如果沒(méi)有定義任何規(guī)則,F(xiàn)ilter表則被當(dāng)作默認(rèn)的表,并且基于它來(lái)過(guò)濾。支持的鏈有INPUT 鏈,OUTPUT 鏈,F(xiàn)ORWARD 鏈。

Raw表 : Raw表在我們想要配置之前被豁免的包時(shí)被使用。它支持PREROUTING 鏈和OUTPUT 鏈。

6. 簡(jiǎn)要談?wù)勈裁词莍ptables中的目標(biāo)值(能被指定為目標(biāo)),他們有什么用

答案: 下面是在iptables中可以指定為目標(biāo)的值:

  • ACCEPT : 接受包

  • QUEUE : 將包傳遞到用戶空間 (應(yīng)用程序和驅(qū)動(dòng)所在的地方)

  • DROP : 丟棄包

  • RETURN : 將控制權(quán)交回調(diào)用的鏈并且為當(dāng)前鏈中的包停止執(zhí)行下一調(diào)用規(guī)則

7. 讓我們來(lái)談?wù)刬ptables技術(shù)方面的東西,我的意思是說(shuō)實(shí)際使用方面

你怎么檢測(cè)在CentOS中安裝iptables時(shí)需要的iptables的rpm?

答案: iptables已經(jīng)被默認(rèn)安裝在CentOS中,我們不需要單獨(dú)安裝它。但可以這樣檢測(cè)rpm:

# rpm -qa iptables

iptables-1.4.21-13.el7.x86_64

如果您需要安裝它,您可以用yum來(lái)安裝。

# yum install iptables-services

8. 怎樣檢測(cè)并且確保iptables服務(wù)正在運(yùn)行?

答案: 您可以在終端中運(yùn)行下面的命令來(lái)檢測(cè)iptables的狀態(tài)。

# service status iptables           [On CentOS 6/5]
# systemctl status iptables         [On CentOS 7]

如果iptables沒(méi)有在運(yùn)行,可以使用下面的語(yǔ)句

---------------- 在CentOS 6/5下 ----------------
# chkconfig --level 35 iptables on
# service iptables start

---------------- 在CentOS 7下 ----------------
# systemctl enable iptables
# systemctl start iptables

我們還可以檢測(cè)iptables的模塊是否被加載:

# lsmod | grep ip_tables

9. 你怎么檢查iptables中當(dāng)前定義的規(guī)則呢?

答案: 當(dāng)前的規(guī)則可以簡(jiǎn)單的用下面的命令查看:

 
 
  1. # iptables -L
  2. 示例輸出
  3. Chain INPUT (policy ACCEPT)
  4. target     prot opt source               destination        
  5. ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
  6. ACCEPT     icmp --  anywhere             anywhere           
  7. ACCEPT     all  --  anywhere             anywhere           
  8. ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
  9. REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
  10. Chain FORWARD (policy ACCEPT)
  11. target     prot opt source               destination        
  12. REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
  13. Chain OUTPUT (policy ACCEPT)
  14. target     prot opt source               destination

10. 你怎樣刷新所有的iptables規(guī)則或者特定的鏈呢?

答案: 您可以使用下面的命令來(lái)刷新一個(gè)特定的鏈。

# iptables --flush OUTPUT

要刷新所有的規(guī)則,可以用:

# iptables --flush

11. 請(qǐng)?jiān)趇ptables中添加一條規(guī)則,接受所有從一個(gè)信任的IP地址(例如,192.168.0.7)過(guò)來(lái)的包。

答案: 上面的場(chǎng)景可以通過(guò)運(yùn)行下面的命令來(lái)完成。

# iptables -A INPUT -s 192.168.0.7 -j ACCEPT

我們還可以在源IP中使用標(biāo)準(zhǔn)的斜線和子網(wǎng)掩碼:

# iptables -A INPUT -s 192.168.0.7/24 -j ACCEPT
# iptables -A INPUT -s 192.168.0.7/255.255.255.0 -j ACCEPT

12. 怎樣在iptables中添加規(guī)則以ACCEPT,REJECT,DENY和DROP ssh的服務(wù)?

答案: 但愿ssh運(yùn)行在22端口,那也是ssh的默認(rèn)端口,我們可以在iptables中添加規(guī)則來(lái)ACCEPT ssh的tcp包(在22號(hào)端口上)。

 
 
  1. # iptables -A INPUT -s -p tcp --dport 22 -j ACCEPT
  2. REJECT ssh服務(wù)(22號(hào)端口)的tcp包。
  3. # iptables -A INPUT -s -p tcp --dport 22 -j REJECT
  4. DENY ssh服務(wù)(22號(hào)端口)的tcp包。
  5. # iptables -A INPUT -s -p tcp --dport 22 -j DENY
  6. DROP ssh服務(wù)(22號(hào)端口)的tcp包。
  7. # iptables -A INPUT -s -p tcp --dport 22 -j DROP

13. 讓我給你另一個(gè)場(chǎng)景,假如有一臺(tái)電腦的本地IP地址是192.168.0.6。你需要封鎖在21、22、23和80號(hào)端口上的連接,你會(huì)怎么做?

答案: 這時(shí),我所需要的就是在iptables中使用‘multiport‘選項(xiàng),并將要封鎖的端口號(hào)跟在它后面。上面的場(chǎng)景可以用下面的一條語(yǔ)句搞定:

# iptables -A INPUT -s 192.168.0.6 -p tcp -m multiport --dport 22,23,80,8080 -j DROP

可以用下面的語(yǔ)句查看寫入的規(guī)則。

 
 
  1. # iptables -L
  2. Chain INPUT (policy ACCEPT)
  3. target     prot opt source               destination        
  4. ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
  5. ACCEPT     icmp --  anywhere             anywhere           
  6. ACCEPT     all  --  anywhere             anywhere           
  7. ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
  8. REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
  9. DROP       tcp  --  192.168.0.6          anywhere             multiport dports ssh,telnet,http,webcache
  10. Chain FORWARD (policy ACCEPT)
  11. target     prot opt source               destination        
  12. REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
  13. Chain OUTPUT (policy ACCEPT)
  14. target     prot opt source               destination

面試官: 好了,我問(wèn)的就是這些。你是一個(gè)很有價(jià)值的雇員,我們不會(huì)錯(cuò)過(guò)你的。我將會(huì)向HR推薦你的名字。如果你有什么問(wèn)題,請(qǐng)問(wèn)我。

作為一個(gè)候選人我不愿不斷的問(wèn)將來(lái)要做的項(xiàng)目的事以及公司里其他的事,這樣會(huì)打斷愉快的對(duì)話。更不用說(shuō)HR輪會(huì)不會(huì)比較難,總之,我獲得了機(jī)會(huì)。

同時(shí)我要感謝Avishek和Ravi(我的朋友)花時(shí)間幫我整理我的面試。

朋友!如果您有過(guò)類似的面試,并且愿意與數(shù)百萬(wàn)Tecmint讀者一起分享您的面試經(jīng)歷,請(qǐng)將您的問(wèn)題和答案發(fā)送到admin@tecmint.com。

謝謝!保持聯(lián)系。如果我能更好的回答我上面的問(wèn)題的話,請(qǐng)記得告訴我。


文章標(biāo)題:13個(gè)關(guān)于Linux防火墻’iptables’的面試問(wèn)答
轉(zhuǎn)載來(lái)于:http://www.dlmjj.cn/article/djcghdj.html