讓RDP從Linux的固定公網IP進來,然後連入同一內網上上私網的另一台電腦RDP

1、有一個私網,裏面好幾台電腦,IP是192.168.1.0/24
2、其中有一台是Linux,他上面有兩片網路卡,一片連私網,IP是192.168.1.11,一片連中華電信小烏龜,可以獲得公網IP(pp.pp.pp.pp),
3、私網中有一台是Windows 11,只有一個私網IP(192.168.1.22)
4、我想控制Windows11那台RDP,但想從192.168.1.11那台的公網IP pp.pp.pp.pp進入
5、我從外面網路的RDP用pp.pp.pp.pp:3389就可以連入私網那台192.168.1.22的Windows 11
6、想問高手們在192.168.1.11那台Linux上的iptable要怎麼寫?

有高手可以解惑嗎?謝謝。
2022-03-07 2:44 發佈
方法一: (我自己用此方式)
如果外網不是走Linux出去,那應該還有另一台路由器也取得中華的公網IP (假設是aaa.bbb.ccc.ddd),這時你只要在那台路由上設定端口轉發(port forwarding)即可 WAN:3389 -> 192.168.1.22:3389
RDP連線aaa.bbb.ccc.ddd:3389即可連到Win11

方法二: (理論應該可行,但我沒實際試過)
可利用Linux iptalbes 的端口轉發達到你的需求 (前提是Linux要和Win11可互通)
詳情可參考 https://www.coonote.com/linux-note/linux-iptables-forwarding-method.html
從外面RDP到電腦a
再從電腦a RDP到電腦b
hdg8gg wrote:
1、有一個私網,裏面好幾台電腦,IP是192.168.1.0/24
2、其中有一台是Linux,他上面有兩片網路卡,一片連私網,IP是192.168.1.11,一片連中華電信小烏龜,可以獲得公網IP(pp.pp.pp.pp),
3、私網中有一台是Windows 11,只有一個私網IP(192.168.1.22)
4、我想控制Windows11那台RDP,但想從192.168.1.11那台的公網IP pp.pp.pp.pp進入
5、我從外面網路的RDP用pp.pp.pp.pp:3389就可以連入私網那台192.168.1.22的Windows 11
6、想問高手們在192.168.1.11那台Linux上的iptable要怎麼寫?


iptables -t nat -A PREROUTIING -d pp.pp.pp.pp -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.22
iptables -t nat -A POSTROUTING -d pp.pp.pp.pp -p tcp --dport 3389 -j SNAT --to-source 192.168.1.11
大致上像這樣。

簡單說明如下:
第一條就只是簡單的轉址/DNAT
第二條則是同時做SNAT,好讓回來的封包能正確走回Linux這台。
如果看不懂上面的規則,或是不知道什麼是SNAT、DNAT,請詳讀iptables相關文件。

注意事項:
1.請不要直接使用這些規則,尤其是開3389給RDP是危險動作,根本是在歡迎不請自來的攻擊者來打。
最好改成透過VPN連入,或至少要改Port像這樣:
iptables -t nat -A PREROUTIING -d pp.pp.pp.pp -p tcp --dport 13839 --to-destination 192.168.1.22:3389
13839這個port就是你外部連的port (pp.pp.pp.pp:13839),請自己改成想要的Port

2.該載入的kernel module要記得載入

3.別忘了同時用防火牆做管制,比如
iptables -A PREROUTING -d pp.pp.pp.pp -p tcp --dport 13839 -s ! 1.2.3.4 -j DROP
這樣限制除了來自1.2.3.4的連線,其他全部擋下來。

當然,你也可以這樣寫,直接整合到nat table上。
iptables -t nat -A PREROUTIING -s 1.2.3.4 -d pp.pp.pp.pp -p tcp --dport 13839 -j DNAT --to-destination 192.168.1.22

4.同3,別忘了開放連入,像這樣:
iptables -A PREROUTING -d pp.pp.pp.pp -p tcp --dport 13839 -s 1.2.3.4 -j ACCEPT
如果nat開了,但還是沒有封包從192.168.1.11這個interface出現,那就八成是被firewall攔下來,記得加上允許連入的規則。
(在Linux抓封包,你可以用tcpdump,gui的話可以用wireshark)

5.同4,別忘記檢查windows那台,防護系統是否已經開放192.168.1.11連RDP進來。
明月下的清風 wrote:
iptables -t...(恕刪)


終於等到真正的答案!!

謝謝大大,我立即來試,謝謝謝謝
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?