[原創(chuàng)] 在高通MDM9607設(shè)備上配置iptables服務(wù)

1 Iptables簡介


  • Iptables 更確切的說是一個應(yīng)用程序静秆,工作在linux的用戶層牵素,對 Linux 內(nèi)核防火墻中的表進行管理严衬。因為Linux 系統(tǒng)具有強大的網(wǎng)絡(luò)協(xié)議棧功能,可以連接因特網(wǎng)或 LAN笆呆、服務(wù)器或連接 LAN 和因特網(wǎng)的代理服務(wù)器请琳, 所以需要一種內(nèi)置能力來針對網(wǎng)絡(luò)信息進行過濾,linux內(nèi)核2.4.x 版本之后就具備了IP信息包過濾這種能力赠幕。如果利用Iptables 進行適合配置它只允許合法的網(wǎng)絡(luò)流量進出系統(tǒng)俄精,而禁止其它任何網(wǎng)絡(luò)流量。為了確定網(wǎng)絡(luò)流量是否合法榕堰,系統(tǒng)管理員可以利用Iptables 來預(yù)定義的一組規(guī)則竖慧。這些規(guī)則告訴linux內(nèi)核某個流量是否合法以及對于來自某個源、至某個目的地或具有某種協(xié)議類型的網(wǎng)絡(luò)流量要做些什么逆屡。

2 內(nèi)核配置


  • 一般來說2.4.x 版本之后的內(nèi)核中默認是把防火墻相關(guān)主要的內(nèi)核選項自動編譯進內(nèi)核的圾旨,如果沒有那需要自己手動進行配置,有些是必須配置的魏蔗,有些是可選的(根據(jù)實際應(yīng)用需要看是否需要這方面的過濾砍的,因為這些過濾是在內(nèi)核中做的,如果不是必須的話建議不要選上莺治,免的影響系統(tǒng)開銷廓鞠,內(nèi)核默認也沒有把所有防火墻選項都選上)。
$ bitbake -c menuconfig linux-quic
  • 具體配置位置
→ Networking support → Networking options → Network packet filtering framework (Netfilter) 
  • 必選的配置(如果要讓防火墻工作必須有的配置)


    image.png

    Network packet filtering framework (Netfilter)
    選上(默認已選上),允許計算機作為網(wǎng)關(guān)或防火墻谣旁。


    image.png

Netfilter Xtables support (required for ip_tables)
選上(默認已選上),有了它床佳,你才能使用過濾、偽裝榄审、NAT砌们。它 為內(nèi)核加入了iptables標識框架。沒有它瘟判,iptables毫無作用怨绣。

3 在設(shè)備上配置Iptables服務(wù)


Iptables的最新源碼可以去www.netfilter.org?官網(wǎng)下載匆瓜。不過設(shè)備上也有安裝iptables的工具,經(jīng)過測試是可以使用的,由于時間關(guān)系沒有下載最新的iptables源碼進行編譯測試驮吱。

# which iptables
/usr/sbin/iptables

1)把啟動腳本和服務(wù)腳本放到/etc/init.d目錄

$adb push iptables-start.sh /etc/init.d/.
$adb push iptables.sh /etc/init.d/.

2)配置啟動腳本
查看運行等級

# runlevel
N 5

說明啟動時會從 rc5.d目錄下按順序去啟動腳本
在rc5.d目錄建立啟動鏈接

#cd cd /etc/rc5.d
#ln -s ../init.d/iptables-start.sh S99start_iptables

備注:下面是我寫好的iptables的啟動腳本和服務(wù)腳本

  • iptables-start.sh
#!/bin/sh
# copyright (c) 2017-2027, xiamen yaxon. All rights reserved.  
# iptables      Start iptables firewall     
#     
# runlevel 5 in  S99     
# description:  starts

/etc/init.d/iptables.sh start
  • iptables.sh
#!/bin/sh
# copyright (c) 2017-2027, xiamen yaxon. All rights reserved.  
# iptables      {start|stop|restart|save}     
#         
# description:  starts, stops and restart  

IPTABLES_DIR='/etc/sysconfig'
IPTABLES_RULE='/etc/sysconfig/iptables'
IPTABLES_ERROR_CODE=3


start() {     
    #如果/etc/sysconfig/iptables不存在茧妒,返回值出錯碼   
    [ ! -f "$IPTABLES_RULE" ] && return $IPTABLES_ERROR_CODE          

    echo "get firewall rules"  
    
    #清除之前的規(guī)則
    iptables -F
    iptables -X
    iptables -Z

    #恢復(fù)之前配置的防火墻規(guī)則  
    iptables-restore < ${IPTABLES_RULE}
    if [ $? -eq 0 ]; then     
        echo "restore firewall rules success"     
        else  
        echo "restore firewall rules failure"; return $IPTABLES_ERROR_CODE     
    fi  
}   

save() {        

    if [ ! -d "$IPTABLES_DIR" ]; then     
        mkdir -p $IPTABLES_DIR    
    fi  
 
    iptables-save > ${IPTABLES_RULE}
    if [ $? -eq 0 ]; then     
        echo "save firewall rules success"     
        else  
        echo "save firewall rules failure"; return $IPTABLES_ERROR_CODE     
    fi  
} 

stop() { 
    #暫時不處理
    echo "stop firewall success"  
}

restart() {       
    stop; 
    start;   
}  

case "$1" in  
    start)        
        start     
        RETVAL=$?     
        ;;  
    save)        
        save     
        RETVAL=$?     
        ;;    
    stop)   
        stop     
        RETVAL=$?     
        ;; 
    restart)     
        restart     
        RETVAL=$?     
        ;;          
    *)     
        echo $"Usage: $0 {start|stop|restart|save}"  
        RETVAL=$?      
        ;;     
esac     

exit $RETVAL 

3)iptables的規(guī)則配置
可以使用iptables工具進行配置,具體配置規(guī)則可以參考https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html#INCLUDE.RCFIREWALL
可以根據(jù)實際需要進行選擇配置,這里不再介紹。
4)iptables.sh腳本的使用
啟動,iptables的規(guī)則不會自動保存,需要每次系統(tǒng)運行時重新加載這些規(guī)則左冬,下面的命令可以重新去加載之前配置的規(guī)則

#/etc/init.d/iptables.sh start

重啟桐筏,如果想放棄正在配置的規(guī)則可以用下面的命令

#/etc/init.d/iptables.sh restart

存儲,在使用iptables進行配置完規(guī)則,可以用下面的指令存儲規(guī)則,因為系統(tǒng)不會自動保存配置規(guī)則,重啟之后配置的規(guī)則會丟掉拇砰,所以配置完需要存儲一下規(guī)則才會保存下來

#/etc/init.d/iptables.sh save

參考文獻


[1] https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html#INCLUDE.RCFIREWALL
[2] http://www.netfilter.org/projects/conntrack-tools/index.html
[3] http://www.faqs.org/docs/iptables/
[4] 鳥哥的linux私房菜-服務(wù)器(第三版/第九章)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梅忌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子除破,更是在濱河造成了極大的恐慌牧氮,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瑰枫,死亡現(xiàn)場離奇詭異踱葛,居然都是意外死亡,警方通過查閱死者的電腦和手機光坝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門尸诽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盯另,你說我怎么就攤上這事逊谋。” “怎么了土铺?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵胶滋,是天一觀的道長。 經(jīng)常有香客問我悲敷,道長究恤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任部宿,我火速辦了婚禮,結(jié)果婚禮上瓢湃,老公的妹妹穿的比我還像新娘理张。我一直安慰自己,他們只是感情好绵患,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布雾叭。 她就那樣靜靜地躺著,像睡著了一般落蝙。 火紅的嫁衣襯著肌膚如雪织狐。 梳的紋絲不亂的頭發(fā)上暂幼,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音移迫,去河邊找鬼旺嬉。 笑死,一個胖子當著我的面吹牛厨埋,可吹牛的內(nèi)容都是我干的邪媳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼荡陷,長吁一口氣:“原來是場噩夢啊……” “哼悲酷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起亲善,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤设易,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蛹头,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顿肺,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年渣蜗,在試婚紗的時候發(fā)現(xiàn)自己被綠了屠尊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡耕拷,死狀恐怖讼昆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骚烧,我是刑警寧澤浸赫,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站赃绊,受9級特大地震影響既峡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碧查,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一运敢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧忠售,春花似錦传惠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至腐螟,卻和暖如春愿汰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乐纸。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工衬廷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人汽绢。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓吗跋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宁昭。 傳聞我的和親對象是個殘疾皇子跌宛,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

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