Yani, burada ağ kurulumu:
+
+--------+ +--------+ +--------+ | +--------+ +--------+ +--------+
| Client | | Client | | Client | | | Client | | Client | | Client |
+--------+ +--------+ +--------+ | +--------+ +--------+ +--------+
| | | | | | |
| | | | | | |
| v | | | v |
+----------->+------------+<--+ | +----------->+------------+<--+
|VPS Instance| | |VPS Instance|
+------------+------------+ | +------------+
| ^ | ^
| | | |
| | +----------> |
| | +----------> |
| | +----------> Now a persistant two way connection
| Initial Conn. | |
| | | for tunneling client connections back
| | | |
| For setting up a|tunnel/reverse proxy.| to the home server.
| | | |
| | | |
HS Inaccessibible | | |
| | | |
| | | |
v ISP Firewall/NAT | | ISP Firewall/NAT |
+----------------------------|------+ | +----------------------------|------+
| | | | | | |
| +-------------+---+ | | | +-------------+<--+ |
| | Home Server | | | | | Home Server | |
| +-------------+ | | | +-------------+ |
+-----------------------------------+ + +-----------------------------------+
Aynı zamanda, temelde, başarmak istediğim şeyi açıklıyor. Trafiği erişilebilir bir sunucuya tünelleyerek erişilebilir yapmak istediğim erişilemez bir sunucum var. Sunuculardan birine erişilemediğinden, tünel pasif olamaz; erişilemez olanın başlattığı aktif bir bağlantı olmalıdır.
Bu nasıl yapılabilir? Bunu yapmanın iptables
ve bazı tünel arayüzlerinin kombinasyonlarını yapmanın bir yolu var mı ?
Bazı temel arama SSH tünelleri, tünel arabirimleri (kuşkusuz, ben üst düzey bir bakış daha erişilebilir belgelerine bulamadı tersine beni neden çok yüksek seviye) ve VPN yazılımı.
Tersine bir SSH tüneli gereksiz gözüküyor çünkü güvenli olması gerekmiyor ve serviste çalışan işlem zaten oldukça kaynak yoğun olacak ve şifreleme ve sıkıştırma ile yüklemek istemiyorum.
Tünel arayüzleri: Gerçekten anlayabileceğim bir noktada istediğim şekle sahip olacak kadar erişilebilir ve düşük seviyeli bir dokümantasyon bulamadım.
VPN yazılımı ağın tamamını gösterir (değil mi?). Ve açıkçası, çoğu zaman karmaşık görünüyor.
Şimdi, aslında bunu yapacak bir program buldum ( PortFusion ), sadece performansını test etme şansım olmadı. Dahası, bunu Linux'ta yapmanın yerel bir yolu olması gerektiğini düşünüyorum, bunun için sonuçlar bulamıyorum.