日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

iptables實(shí)戰(zhàn)記錄

 wuxyu 2007-04-02
 iptables實(shí)戰(zhàn)記錄

netfilter/iptables這個(gè)玩意兒似乎很復(fù)雜一直沒太搞懂它的原理,所以從給公司配置服務(wù)器開始就從未使用過它,讓同事們共享上網(wǎng)時(shí)才用了一下它的偽裝,當(dāng)時(shí)也只是從網(wǎng)上看到了那行iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE,仍然不知道它究竟都干了些什么。最近覺得QQ這個(gè)東西的確有些影響同事們工作,所以下決心摸索一下iptables,看看能不能提供一下生產(chǎn)力。

我的網(wǎng)絡(luò)情況:linux服務(wù)器既是上網(wǎng)的撥號(hào)服務(wù)器,同時(shí)也是公司的web server、mail server、ftp server等,域名動(dòng)態(tài)解析,同時(shí)它與公司其它windows客戶端構(gòu)成了一個(gè)局域網(wǎng),內(nèi)網(wǎng)IP為192.168.0.1(eth1接口),外網(wǎng)網(wǎng)卡(eth0接口),撥號(hào)接口為ppp0,網(wǎng)內(nèi)其它計(jì)算機(jī)的IP也都是192.168.0網(wǎng)段。192.168.0.2到192.168.0.16為公司工作人員(公司比較小,只有10來(lái)個(gè)人),192.168.0.240到192.168.0.243這幾個(gè)IP是我和其它兩個(gè)同事在用,需要實(shí)現(xiàn)的目標(biāo)是外網(wǎng)只能訪問服務(wù)器的www、mail、ftp、tomcat這幾個(gè)服務(wù)、內(nèi)網(wǎng)192.168.0.2到192.168.0.16這個(gè)IP段的同事們上班時(shí)間只能上外網(wǎng)的www、mail、ftp、tomcat并禁止使用QQ、192.168.0.240到192.168.0.243這個(gè)IP段的同事們可以無(wú)限制上網(wǎng)。下面是我的腳本內(nèi)容。

work_firewall.sh:
# Display start message
echo "Starting iptables rules..."
# 設(shè)置變量
IPT=/sbin/iptables
INTERNET_SERVER=192.168.0.1
IP_ME="127.0.0.1"
IP_SPEC_RANGE="192.168.0.240/30"
IP_WORK_RANGE="192.168.0.2/28"
IP_ALL="192.168.0.0/24"
# 清除所有規(guī)則
$IPT -F
$IPT -t nat -F
# 重置所有鏈默認(rèn)設(shè)置
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
# 1. 限制internet對(duì)web服務(wù)器的訪問
# (1) 允許自己無(wú)限制訪問自己
$IPT -A INPUT -s $IP_ME -j ACCEPT
# (2) 允許訪問www服務(wù)
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
# (3) 允許訪問ftp服務(wù)
$IPT -A INPUT -p tcp --dport 20 -j ACCEPT
$IPT -A INPUT -p tcp --dport 21 -j ACCEPT
# (4) 允許訪問mail服務(wù)
$IPT -A INPUT -p tcp --dport 110 -j ACCEPT
$IPT -A INPUT -p tcp --dport 143 -j ACCEPT
$IPT -A INPUT -p tcp --dport 25 -j ACCEPT
# (5) 允許訪問tomcat服務(wù)
$IPT -A INPUT -p tcp --dport 8080 -j ACCEPT
# 2. 允許工作人員通過局域網(wǎng)訪問服務(wù)器
$IPT -A INPUT -s $IP_SPEC_RANGE -j ACCEPT
$IPT -A INPUT -s $IP_WORK_RANGE -j ACCEPT
# 3. 允許特殊IP無(wú)限制上網(wǎng)
$IPT -t nat -A PREROUTING -s $IP_SPEC_RANGE -j ACCEPT
# 4. 對(duì)工作范圍內(nèi)IP限制部分上網(wǎng)功能
# (1) 允許訪問DNS和ECHO
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p udp --dport 53 -j ACCEPT
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p udp --dport 42 -j ACCEPT
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p udp --dport 7 -j ACCEPT
# (2) 禁止QQ的TCP登錄
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 219.133.38.5 -p tcp -j DROP
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 218.18.95.165 -p tcp -j DROP
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 218.17.209.23 -p tcp -j DROP
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 218.18.95.153 -p tcp -j DROP
# (3) 禁止MSN登錄
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 207.46.104.20 -j DROP
# (4) 允許訪問www
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p tcp --dport 80 -j ACCEPT
# (5) 允許訪問ftp
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p tcp --dport 20 -j ACCEPT
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p tcp --dport 21 -j ACCEPT
# (6) 允許訪問mail
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p tcp --dport 110 -j ACCEPT
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p tcp --dport 143 -j ACCEPT
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p tcp --dport 25 -j ACCEPT
# (7) 允許訪問tomcat
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d 0/0 -p tcp --dport 8080 -j ACCEPT
# (8) 禁止訪問其它服務(wù)
$IPT -t nat -A PREROUTING -s $IP_WORK_RANGE -d ! $IP_ALL -j DROP
# 5. 共享上網(wǎng)
$IPT -t nat -A POSTROUTING -o ppp+ -j MASQUERADE
# 顯示結(jié)束信息
echo "Completed iptables rules."

 

網(wǎng)上講解iptables命令如何使用的文章已經(jīng)數(shù)不勝數(shù)了,但真正要理解它的工作原理還是不太容易,也許是自己太笨周六那天竟然午飯都沒吃苦苦思索了整整一天才慢慢有所領(lǐng)悟。netfilter/iptables共有三組規(guī)則表:filter、nat和mangle。filter表用于一般的信息包過濾,如我的網(wǎng)絡(luò)中192.168.0.1服務(wù)器自己訪問internet資源時(shí)或者外網(wǎng)訪問服務(wù)器本身時(shí)使用filter表規(guī)則;nat表用于轉(zhuǎn)發(fā)的信息包過濾,如我的局域網(wǎng)內(nèi)客戶端需要通過服務(wù)器訪問外網(wǎng)時(shí)就需要用到nat表規(guī)則;mangle表用于高級(jí)路由,我此次沒有用到,因此也沒有深究,有空了再看看^_^。filter表包括INPUT鏈、OUTPUT鏈和FORWARD鏈;nat表包括PREROUTING鏈、POSTROUTING鏈和OUTPUT鏈;mangle表包括PREROUTING鏈和OUTPUT鏈。filter表為默認(rèn)規(guī)則表。

表名

功能

filter 用于一般的信息包過濾,包括INPUT鏈、OUTPUT鏈和FORWARD鏈,如我的網(wǎng)絡(luò)中192.168.0.1服務(wù)器自己訪問internet資源時(shí)或者外網(wǎng)訪問服務(wù)器本身時(shí)使用filter表規(guī)則
nat 用于轉(zhuǎn)發(fā)的信息包過濾,包括PREROUTING鏈、POSTROUTING鏈和OUTPUT鏈,如我的局域網(wǎng)內(nèi)客戶端需要通過服務(wù)器訪問外網(wǎng)時(shí)就需要用到nat表規(guī)則
mangle 用于高級(jí)路由,包括PREROUTING鏈和OUTPUT鏈

上面的腳本先清除了所有鏈的所有規(guī)則并重置了默認(rèn)設(shè)置,其中INPUT鏈默認(rèn)不接受外來(lái)訪問服務(wù)器的任何數(shù)據(jù)包,接著第1步開放了服務(wù)器的80、20、21、110、143、25和8080端口,第2步允許局域網(wǎng)內(nèi)的192.168.0.2到192.168.0.16及192.168.0.240到192.168.0.243的客戶端訪問服務(wù)器,第3步允許192.168.0.240及192.168.0.243無(wú)限制訪問外網(wǎng),第4步允許192.168.0.2到192.168.0.16訪問外網(wǎng)的80、20、21、110、143、25、8080及DNS和echo,第5步局域網(wǎng)內(nèi)客戶端共享上網(wǎng)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多