Yönlendiricime İnternet sunucusunun genel aynasını (?) Kur


0

Bir şekilde kurulum yapabilir miyim ayna Internet'te yönlendiricimdeki belirli bir bağlantı noktasında kullanılabilen bir sunucunun (bu, birlikte gelen en iyi kelime)?

İşte elimde ne var:

  • ISS bana statik bir IP adresi sunuyor (yerel ağımdaki web sunucusuna İnternetten erişime izin vermek için yönlendiricimdeki bağlantı noktası iletmeyi yapılandırabilirim).
  • Bu yardımcı olursa, orijinal firmware ile D-LINK DIR-628 yönlendirici var.
  • Yansıtmak istediğim bir internet sunucusu var. Daha spesifik olarak bu, kiraladığım bir Ventrilo sunucusudur.

Ne elde etmek istediğimi: Genel IP adresini kullanarak yönlendiricime bağlanmak, bağlantıyı Ventrilo sunucusuna yönlendirmelidir. Bu proxy'yi kullanmak için herhangi bir yetkilendirme gibi ek bir güvenlik katmanına ihtiyacım yok.

Buna ihtiyacımın nedeni: Bir adam Ventrilo sunucusuna bağlanamıyor (başkalarının bağlantıda bir sorunu yok). Bunun nedenini tam olarak bilmiyorum, ancak İnternet servis sağlayıcısı kooperatif değil ve ona yardım etmiyor. Bu yüzden, yönlendiricimin IP'sini kullanarak bağlanacak ve bu bağlantı Ventrilo sunucusuna yönlendirilecek şekilde yönlendiricime bir tür ayna / proxy kurmak istiyorum.

Bağlantı noktası iletmeyi ayarlamaya çalıştım, ancak bağlantıları dış IP'lere yönlendirmeme izin vermiyor. Yalnızca LAN'ımdaki IP'ler için.


@Fdmillion tarafından sağlanan bilgilere dayanarak sorunumu çözmeyi başardım.

Genel cevap (sadece TCP iletmeniz gerekiyorsa):

  1. Yönlendiricimde önerildiği gibi port yönlendirme kuralı oluşturdum.
  2. Netsh komutunu kullanarak Windows'a rota ekledim: netsh interface portproxy add v4tov4 listenport=PORT listenaddress=LAN_IP_of_Windows_Machine connectport=PORT connectaddress=Internet_IP_of_Server

Ancak Ventrilo'nun hem TCP hem de UDP kullandığı ortaya çıktı. Ne yazık ki, netsh UDP'yi desteklemiyor, sadece TCP destekleniyor. UDP'yi iletmek için ayrı bir araç kullandım ( http://sourceforge.net/projects/pjs-passport/ ) ve TCP'yi iletmek için netsh. Pjs-pasaport TCP ve UDP'yi aynı anda iletemez. TCP veya UDP için aynı adres ve bağlantı noktası için yalnızca bir kural oluşturabilirsiniz.

Yanıtlar:


0

Bu tür bir şeyi yalnızca tüketici sınıfı bir yönlendirici ile yapamazsınız.

Ağınızın içinde bir Linux makinesi kurmak ve bir bağlantı noktası iletmek istese, Linux'un NAT'ı bağlantıyı yönlendirmek için kullanmasına neden olabilirsiniz. NAT, genellikle bir ağ içindeki birden fazla makinenin bir genel IP adresini paylaşmasına izin vermek için kullanılsa da, NAT bu kullanımla sınırlı değildir ve her türlü ilginç yönlendirme numarası için kullanılabilir.

Yönlendiriciniz destekliyorsa, yönlendiricinize alternatif ürün yazılımı (ör. OpenWRT) yükleyebilir ve bunu yönlendiricide yapabilirsiniz. Bununla birlikte, bu durumda bile, bazı Linux geçmişlerine ihtiyaç vardır.

Açıkçası Linux'a aşina değilseniz, bu kurulum için oldukça önemli bir öğrenme eğrisi olacaktır. Windows'ta kullanmadıkça, Windows'ta bunu yapabilecek uygulamaları bilmiyorum; Mac OS X, yerleşik güvenlik duvarını kullanarak yapabilir, ancak yine de emin değilim.

Buna bakan başkalarına referans olarak, bunu uygulayabileceğiniz yöntem şöyle olacaktır:

Public IP: 12.34.56.78
IP of destination server: 87.65.43.21
Local area NAT range: 192.168.1.0/24
IP of Linux box on LAN: 192.168.1.200
Port that should be forwarded: 1234

1. Use router controls to direct port 1234 of incoming traffic to 192.168.1.200.

2. On the Linux box, issue this command:

    iptables -t nat -A PREROUTING -p tcp -d 192.168.1.200 --dport 1234 -j DNAT --to 87.65.43.21:1234

Side note: If you are using OpenWRT or similar on a router, you would not need to forward the port as in step 1. Step 2's command would become:
    iptables -t nat -A PREROUTING -p tcp -d 12.34.56.78 --dport 1234 -j DNAT --to 87.65.43.21:1234

3. Ensure port forwarding is on:

    sysctl net.ipv4.ip_forward=1

Elbette bazı şeylerle uğraşabileceğinizi unutmayın. Eğer istersen kabul etmek bağlantı noktası 4321'deki bağlantılar, ancak yine de bağlantı noktası 1234'e bağlandığınızda, --dport istemcilerinizin bağlanmasını istediğiniz bağlantı noktasını eşleştirme seçeneği. Aynı şekilde, hedef portu değiştirmek için --to buna göre parametre.

Güvenlik duvarı kurallarına uymazsanız, iptables -t nat -F NAT ile ilgili tüm kuralları (boş) varsayılanlarına sıfırlar.

iptables çok büyük bir konudur ve bu konuda bir kitap kütüphanesi yazılabilir. Eğer Linux geçmişiniz varsa ve ilgileniyorsanız, https://wiki.archlinux.org/index.php/iptables ve http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html Bazı iyi kaynaklar.

Aynı şeyi başarmanın başka yolları da var - daha klasik proxy yöntemleri akla geliyor. Örneğin, ağınızın içinde bir SOCKS5 proxy'si kurabilirsiniz. Tabii ki, bu durumda, sen olmalısın çok çalışkan Açık SOCKS5 proxy sunucusu kötüye kullanımı gibi güvenlik ile çok yaygındır (insanlar IP tabanlı yasakları yenmek için açık SOCKS sunucularını kullanırlar, sadece kötü bir numarayı adlandırmak için.)

Bu yardımcı olur umarım!


Cevabınız için teşekkürler. Maalesef OpenWRT üretici yazılımını yönlendiricime yükleyemiyorum çünkü desteklemiyor. LAN'ımda da linux makinesi yok. Her ikisine de sahip olduğum iki makine Windows 7 kullanıyor. Windows'ta iptables için bir analog ne olacağını anlamaya çalışıyorum. Netsh ihtiyacım olan şey gibi gözüküyor, ancak henüz böyle bir rota nasıl oluşturacağımı bulamadım.
Avsek

Yorumunuza dayanarak bir çözüm bulabildim. Asıl sorumu, birinin benzer bir sorusu olması durumunda, geldiğim bir çözümle değiştirdim. Tekrar teşekkürler!
Avsek
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.