最近因為要對全球工控機網絡進行協議掃描,需要在實驗室配置幾台服務器,因為我們只有一個IP地址,所以是用路由器搭建了一個內網(拓撲結構如下圖)。但是這樣做了之后無法在宿舍通過ssh直接連接服務器,因為那幾台服務器對外顯示的都是路由器的IP。
一開始也在網上找了很多教程,包括用現成的軟件和使用ssh反向連接,但是這些都過於繁瑣。最后是發現路由器自帶了虛擬服務器的功能,操作特別簡單。
一、設置服務器靜態IP
服務器一般設置成靜態IP,方便訪問。進入路由器設置界面,選擇IP與MAC地址綁定,將各服務器的IP跟MAC地址綁定,這樣即使服務器的IP獲取方式設置成DHCP,路由器也能給各服務器分配固定的IP地址,同時也避免了在服務器設置靜態IP導致可能的IP沖突。
二、設置虛擬服務器端口映射
進入路由器設置的虛擬服務器設置界面,將為每一台服務器添加一個端口映射,外部端口可以選擇大於5000的任意端口,內部端口設置為22(ssh默認的端口,可以更改),同時填寫相應的ip地址,保存。
這里解釋一下,外部端口即在外網訪問路由器IP時用的端口,路由器將這個端口映射到了對應IP服務器的22端口(如果沒有修改默認ssh端口的話),這樣就能夠用最常用的ssh命令登錄服務器了:
ssh username@127.0.0.1 -p 5001
其中username是Linux系統的用戶名,127.0.0.1是那個唯一的外網IP,5001是之前設置的外部端口號,換成對應的端口就能夠登錄不同的服務器了。