Windows 10 - NAT - Bağlantı noktası yönlendirme ve IP maskeli balo


13

Windows 10 iptables işlevselliği almak için bir yol arıyorum. IP yönlendirme etkin ve başka bir ana bilgisayara (bağlantı noktası 8080) tcp veri iletmek ve sonra IP maskeli ederken yanıtını iletmek gerekir. Linux'ta bunu aşağıdakileri kullanarak yapabildim (Burada $ 1 = <dahili IP>, $ 2 = 80, $ 3 = 8080, $ 4 = tcp)

iptables -t nat -A PREROUTING -p $4 --match multiport --dports $2 -j DNAT --to-destination $1:$3 
iptables -A FORWARD -p $4 --match multiport --dports $2 -d $1 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE

Windows 10'da benzer işlevselliğe ulaşmanın bir yolu var mı?


Muhtemelen bir cevap için çok kısa ve bunun hala Windows 10 için geçerli olup olmadığını bilmiyorum. Port yönlendirme için bu cevaba göz atın . Pencerelerde maskelenmeye İnternet Bağlantı Paylaşımı (ICS) denir , bu yanıta bakın .
rda

Merhaba, girişiniz için teşekkürler. Netsh kullanmayı denedim ama işe yaramıyor gibi görünüyor (belki listenaddress joker karakter olması gerekir *). ICS için nasıl çalışacağından tam olarak emin değilim (İkinci bir adaptöre ihtiyacım olacak mı? Onları köprülersem ICS'yi kullanamam)
Orestis P.

Belki PC'nizde netcat kullanabilirsiniz. Bir bağlantı noktasını dinler ve başka bir bağlantı noktasına gönderir. IP, ortada makinenizin IP'si olacaktır.
TJJ

2
@OrestisP. kontrol netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080Ben zamanınız varsa netsh'in için iptables çevirmek için çalışacağım. 127.0.0.1'i seçtiğiniz adresle değiştirin
Zalmy

Yanıtlar:


16

Windows netsh, yöneticilerin ipv4 trafiğini ipv4 üzerinden proxy yapmasına izin vermek için bir proxy oluşturabilir. Netsh ayrıca ipv4 ila ipv4 için bir proxy yapılandırma seçeneğine de sahiptir.

Kurulumunuz için , vekil sunucuya kullanmak istediğiniz adresle netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080değiştirmeyi 127.0.0.1kullanın.

burada komutta küçük bir arıza var.

netsh interface portproxytünelleri işleyen arayüzü seçer. add v4tov4ipv4 - ipv4 tüneli oluşturmak için. listenport=80istemcilerin bağlanmasını istediğiniz bağlantı noktası için. connectaddress=127.0.0.1, istemcilerin proxy gönderileceği uzak adrestir. connectport=8080uzak bağlantı noktasıdır.

listenaddress=proxy'nin yalnızca bir arabirimde kullanılabilir olmasını istiyorsanız da kullanabilirsiniz .

Daha fazla bilgi için https://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx


1
Bu maalesef sadece TCP için çalıştığını unutmayın, bu yüzden bazı UDP trafiğini iletmek isterseniz, şansınız kalmaz.
user276648

1
VPN çalıştıran bir makinede ssh'yi (sunucu bağlantı noktası 22) yönlendirmek için Windows 10'u kullanarak çalışır. Ev ağımdaki bir makine (VPN bağlantısı olmayan), dinleme portunu kullanarak VPN içindeki başka bir makineye bağlanabilir.
Frank M

1

En azından test amacıyla, TCP ve UDP'yi iletmek için aşağıdaki yardımcı programı kullanabildim

https://sourceforge.net/projects/pjs-passport/

XP için, ancak Win10'da da çalışıyor.


Windows 10 bana şunu söylüyor:Cannot start service from the command line or a debugger. A Windows Service must first be installed (using installutil.exe) and then started with the ServerExplorer, Windows Services Administrative tool or the NET START command.
Peter Turner

1
@PeterTurner: readmedosyayı kontrol edin . PassPort.exe -InstallHizmeti kurmayı görüyorum .
user276648
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.