工作中經常會碰到,有的客戶做一些網絡應用在調試的時候經常需要斷網操作,但是廠商提供的IPMI地址都是內網的,工作的跳板機又不想給客戶使用,這個時候只能使用廠商提供的公網IPMI功能,這個功能需要客戶提供本地IP,然后在功能面板上將IPMI內網地址和客戶本地IP地址綁定,這功能看上去很高大上,但是使用起來問題多多,首先並不是每個客戶都願意提供本地IP的,其次大家在本地大部分使用的都是動態IP地址,誰知道啥時候IP就變了,所以就導致很多客戶都連接不上,而且有些客戶打着不能連接的幌子將問題推給我,而且給客戶綁定好我們自己還不能測試(只有綁定的本地IP地址才能訪問公網IPMI),又不想浪費自己的時間來幫別人工作,經過研究發現在跳板機上使用端口轉發就可以實現廠商提供的公網IPMI功能,而且跳板機上有好幾個IP閑着沒在使用,下面會進行詳細介紹如何在跳板機上做公網IPMI功能將問題推回給客戶。
首先介紹下廠商機器提供的IPMI全部是超威的IPMI,在使用內網IP打開的網頁里面進行登錄操作,登錄頁面
從頁面我們可以看到IPMI的IP地址提供了80端口的網站服務,所有的功能都集成在網站里面,從這個推斷我們必須要轉發80端口來提供網站的正常使用,嗯,接下來讓我們看看除了建立的80端口的通信外,還有沒有其他的端口來通信,首先發下正常情況下的iKVM控制台的頁面
打開了Java 的iKVM之后我們來看下是否還有其他的網絡連接,在DOS下使用命令netstat -ant | findstr 172.17.5.36 來查詢下,果然還有其他的TCP連接,查詢結果如下圖:
果然除了80端口還有一個5900端口的連接,所以我們除了需要轉發80端口,還要轉發5900端口
好了知道了哪些端口在通信就可以開始動手了,因為工作機是windows系統,所以這里只介紹一些Windos環境下的端口轉發方法。
一共三個命令
- 創建一個端口轉發連接
命令:netsh interface portproxy add v4tov4 listenaddress=用來轉發IP的公網IP listenport=80 connectaddress=172.17.5.36 connectport=80
- 查看所有已創建的轉發連接
命令:netsh interface portproxy show all
- 刪除一個端口轉發連接
命令netsh interface portproxy delete v4tov4 listenaddress=用來轉發IP的公網IP listenport=80
好了,我們來用創建的命令我們分別創建 將我們要轉發的IP的80端口轉發到內網IPMI的80端口、
5900端口轉發到5900端口。設置好后就可以測試了。
等客戶使用完不要忘了用刪除命令來刪除轉發哦。
注意:轉發端口前一定要確定端口沒有被占用。