目前有一臺linux系統的轉發機做ssh轉發,遇到了一點特殊情況。
假設這臺linux系統轉發機為機器A,有一臺機器B需要通過機器A,去訪問機器C和機器D,而且必須用同一個埠9000埠。
如果我在機器A上設定兩個網卡,網卡1和網卡2,可不可以做到B機器通過網卡1的9000埠訪問機器C,通過網卡2的9000埠訪問機器D。
原先是需要兩臺轉發機的,但是目前條件有限,只有這么一臺機器作為轉發機,所以想來請教一下,這個方法能不能夠實作。能夠實作的話,需要怎么去實作?
uj5u.com熱心網友回復:
不太懂埠轉發,兩個網卡可以設定兩個路由,網卡1路由通向機器C,網卡2的路由通向機器D。uj5u.com熱心網友回復:
就是這種ssh轉發
ssh -TNfaq -L 158.120.30.25:9000:150.120.60.155:9000 [email protected]
就是目前需要這個9000埠,分別訪問機器C和機器D,可不可以實作網卡1的9000埠,訪問機器C,網卡2的9000埠訪問機器D
uj5u.com熱心網友回復:
用nginx(或者haproxy) 代理ssh感覺可以```
stream {
server {
listen 158.120.30.25:9000;
proxy_pass ssh1;
}
server {
listen 150.120.60.155:9000;
proxy_pass ssh2;
}
upstream ssh1 {
server ssh1:22;
}
upstream ssh2 {
server ssh2:22;
}
}
```
uj5u.com熱心網友回復:
需要防火墻來做,指定不同的網段使用不同的網卡,應該就可以了uj5u.com熱心網友回復:
2、通過腳本檔案定義埠轉發腳本含義:通過訪問52.82.x.x的4000埠來訪問172.31.x.x的22埠
52.82.x.x為公有IP 172.31.x.x為私有IP
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 4000 -j DNAT --to-destination 172.31.x.x:22
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 22 -j SNAT --to-source 52.82.x.x
清空net表
iptables -F -t nat
查看已經配置的埠串列
iptables -t nat --list
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/122455.html
標籤:系統維護與使用區
