iptables在網路中的兩個經典應用

來源:互聯網
上載者:User

  一.連接埠轉寄:

  在詳述連接埠轉寄之前,先講一下我日前遇到的一件事情。本人是搞測試的,有一廠家拿了一個伺服器軟體叫我測試。基於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.1

  10.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-source 10.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

  通過伺服器http://serverip:800 進行訪問。

  iptables -t nat -A PREROUTING -p tcp -m tcp --dport 800 -j DNAT --to-destination 10.10.2.101:800

  iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.101 -p tcp -m tcp --dport 800 -j SNAT --to-source 10.10.1.1

  iptables –A INPUT –p tcp –dport 800 –i ppp0 –j ACCEPT

  由於是基於連接埠轉寄實現的,所以伺服器上只需裝個iptables來轉寄資料就行了,一切服務由內部伺服器完成,這樣的話,我 linux伺服器才真正的算是個防火牆。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。