iptables在網路中的兩個經典應用(轉)
iptables在網路中的兩個經典應用(轉)[@more@]a.埠轉發:在詳述埠轉發之前,先講一下我日前遇到的一件事情。本人是搞測試的,有一廠家拿了一個伺服器軟體叫我測試。基於win2k的,埠號為881,伺服器直接連線外部網路,客戶端透過服器ip來訪問,而他們沒有基於linux的伺服器軟體,照他們意思就必須將伺服器換成windows的。作為一個linux愛好者,我想大家明白這種痛苦。我翻了一下資料,發現iptables的埠轉發功能可以解決,折騰了一下午,終於完成任務。下面將我的方法講一下:思想:利用埠轉發,當伺服器接收到881埠請求以後,將其轉到 10.10.2.200:881上,10.10.2.200再將資料返回給請求連線。Eth0:連線ADSL,即ppp0介面Eth1:連線內部網路,ip為10.10.1.110.10.2.200為win2k伺服器,其埠881提供網路服務。iptbles指令碼:iptables -t nat -A PREROUTING -p tcp -m tcp --dport 881 -j DNAT --to-destination 10.10.2.200:881 ;將881請求發至10.10.2.00:881埠iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.200 -p tcp -m tcp --dport 881 -j SNAT --to-source10.10.1.1 ;返回a.b.b.d時資料來源來自同一子網,就將其源地址更改為10.10.1.1,從eth0發出,並在連線跟蹤表中查出a.b.c.d從ppp0進來的,又由ppp0將此資料發出。當然不要忘了加一條允許881埠訪問的語句。iptables –A INPUT –p tcp –dport 881 –i ppp0 –j ACCEPT可不可把伺服器放在局域內,用埠轉發來實現呢?答案當然是肯定的,既然能把881埠轉發,那麼21,80這些個埠更不在話,而且很多伺服器軟體都可以自定義埠,那就在得玩了,只要有合適的埠,即使給區域網每一個使用者開一個ftp伺服器也是可的。你想要實現什麼服務都可以,當然是基於埠轉發的。區域網內10.10.2.101是win2k,提供www服務,埠為800透過伺服器 進行訪問。iptables -t nat -A PREROUTING -p tcp -m tcp --dport 800 -j DNAT --to-destination 10.10.2.101:800iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.101 -p tcp -m tcp --dport 800 -j SNAT --to-source10.10.1.1iptables –A INPUT –p tcp –dport 800 –i ppp0 –j ACCEPT由於是基於埠轉發實現的,所以伺服器上只需裝個iptables來轉發資料就行了,一切服務由內部伺服器完成,這樣的話,我linux伺服器才真正的算是個防火牆。b.IPTABLES防火牆使用經驗一談最近架設了一臺LINUX的小型伺服器 因為需要把LINUX的機子作為軟路由器來使用 所以把使用的一些經驗談一下。iptables的功能十分的強大 例如IP轉發和偽裝 防禦DoS,掃描和嗅探試的攻擊等等 在這裡就不闡述了我的系統環境: redhat 7.2adsl 2m8139fast 網路卡1:linux如何所以軟路由功能:說到這裡 大家可能會想 只要在/etc/rc.d/rc.local加上cat 1 > /proc/sys/net/ipv4/ip_forward就可以了 讓linux具ip_forward的功能 但你會發現 就算這樣設定你區域網內的其他電腦還是不能共享上網 這是為什麼 因為當你只有一個公網的ip候 你就必須用到iptables的IP偽裝功能 把IP的偽裝成你公網的IP 那怎麼實現呢 你可以這樣iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 這樣就可以把你所以出去的IP地址偽裝成ppp0的IP地址(因為我ADSL 如有不同可以修改)2:我不想開放我的埠 但我要在我的電腦上啟用http服務 並對外服務:因為你不想開放除了80以外的埠 你可以這樣iptables –P INPUT –j DROP 我們用-P來攔截全部的通訊然後在來允許哪些埠可以被使用你可以這樣寫:iptables –A INPUT –p tcp –dport 80 –j ACCEPT你可以適當的按照這樣的格式來新增自己想開放的埠 當然如果你覺得這樣不是很好的管理你也可以新建一個iptables表 你可以樣做iptables –N test (新建一個test表)iptables –A test DROPiptables –A test –p tcp –dport 80 –j ACCEPT(允許80埠被訪問)iptables –A INPUT –j testiptables –A OUTPUT –j testiptables –A FORWARD –j test(這3條的意思指讓INPUT OUTPUT FORWARD都按照test的設定)3我想在我內網的電腦上架設ftp服務 我該怎麼做:這就又要用到iptables 的又一個強大的功能埠對映了你可以這樣iptables -t nat -A PREROUTING -p tcp -m tcp --dport 25 -j DNAT --to-destination192.168.0.6:21iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.6 -p tcp -m tcp --dport 25-j SNAT --to-source 192.168.0.1這寫是XCHEN兄給我的指導 再這裡先謝謝了 上面2句話的意思是把伺服器的25埠對映到192.168.0.6這臺電腦上4:我不想讓人家可以PING到我這大概是做防火牆用到最多的一種了 你可以在iptables寫這句話iptables -A INPUT -p icmp --icmp-type echo-request -i ppp0 -j DROP如果你前面是新建了一個新的test表 那也可以這樣寫iptables -A test -p icmp --icmp-type echo-request -i ppp0 -jDROP這句話就是不允許人家PING我 因為ping用到的是icmp協議 因為icmp沒有埠可言 所以也不需要指定埠了好了 這就是iptables的幾種比較基本的用法這裡在介紹幾iptbales常用的一些命令iptables –F 清空所有的iptables的規則設定/sbin/iptables-save > iptables – save 把你的規則儲存下來 因為你所有設定的規則再重新啟動後都不會被儲存 所以你必來寫一個指令碼來讓他開機執行 所以你就可以用這命令來儲存你的規則 然後讓他開機自動執行就可以了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945984/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java在Client/Server網路中的應用 (轉)JavaclientServer
- 圖神經網路在醫學影像中的應用神經網路
- 兩個路徑下的iptables的區別
- 容器網路中的 Iptables 包路徑
- 最全的網路紅人經典語錄(轉)
- TAP明辰智航網路分路器應用經典方案
- 白話經典貝塞爾曲線及其在 Android 中的應用Android
- 在網路通訊中應用Protobuf
- 匿名IP在網路抓取中的應用探索
- .net core 中的經典設計模式的應用設計模式
- 網站設計:600個經典網站... (轉)網站
- “網際網路+”在醫療行業中的應用行業
- 詳解卷積神經網路(CNN)在語音識別中的應用卷積神經網路CNN
- 神經網路入門(二)卷積網路在影像識別的應用神經網路卷積
- VLAN技術介紹及其在企業網路中應用(轉)
- 網路爬蟲在商業分析中的應用爬蟲
- 區塊鏈在網路身份證中的應用區塊鏈
- 匿名IP在網路爬蟲中的應用探索爬蟲
- SUN工作站在網路中的深入應用(轉)
- iptables應用
- iptables基礎和應用(3)(轉)
- iptables基礎和應用(2)(轉)
- 9個經典華麗的HTML5圖表應用HTML
- 網路最經典命令列:網路安全工作者的必殺技(轉)命令列
- 10個經典實用的HTML5圖表動畫應用HTML動畫
- 區塊鏈技術在網路安全中的應用區塊鏈
- mongoDB在網際網路金融的應用MongoDB
- 私有云部署在網際網路公司中的應用案例解析
- sqlserver在JAVA中的應用 (轉)SQLServerJava
- 網路工程師必知的網路經典命令工程師
- Delphi中GUID相等檢查中經典指標應用GUI指標
- 光纖在資料中心網路中的應用前景如何
- 儲存網路在企業應用中的安全隱患
- 神經網路之所以強大的兩個原因 - tunguz神經網路
- 工業網路交換機在智慧電網系統中的應用
- 經典原理法則效應(轉)
- Solaris 網路應用配置(轉)
- 在Struts中應用Validator進行兩個欄位的比較的方法。