Bir uygulama (Firefox gibi) belirli bir ağ arayüzünü kullanmaya nasıl zorlanabilir?


20

İki arabirim var: bir dizüstü bilgisayarda eth0 ve wlan0.

Muhtemel kullanım durumları:

  • eth0 bana İnternet erişimi veriyor ve wlan0 şu anda İnternet bağlantısı olmayan bir yönlendiriciye bağlı. Geliştirme amaçlı olarak, wlan0'a varsayılan olarak bağlanmam gerekir, ancak sörf yapmak için eth0 kullanmam gerekir
  • eth0 ve wlan0 ikisi de internete bağlı. Bir torrent uygulaması için, eth0 hız için kullanılmalıdır, ancak dizüstü bilgisayarın taşınabilirliği için SSH wlan0 üzerinden bir bağlantıya sahip olmalıdır.
  • eth0 bir tel bağlantıdır, wlan0 ise kablosuz bir bağlantıdır. Hassas veri eth0 üzerinden aktarılmalıdır, ancak diğer trafik de wlan0 üzerinden geçebilir.

Uygulamaları (gibi nc.traditionalveya firefox) belirli bir ağ arabirimini kullanmaya zorlamanın bir yolu var mı ? example-wrapper eth0 programBöyle bir program varsa, bir sarmalayıcı gibi iyi. Firefox'ta (çalışma zamanında) yapılandırılmış olsaydı iyi olurdu. Mümkünse IPTables çözümlerinden kaçınmak istiyorum.


4
Bu aynı zamanda biri internette gezinirken diğeri internette gezinmek için kullanılan çoklu internet bağlantısı için de yararlıdır.
iamgopal

Protokol / uygulamaya göre farklı yollar kullanmak istiyorsanız, bunun için iptables'a ihtiyacınız olacaktır.
João Pinto,

1
Katman7 (uygulama) trafiğinizi belirli bir bağlantı noktasına eşleyen bir şey veya başka bir yüksek seviye uygulama bilgisine dayanan (trafik denetimi gerektiren) filtreler olmadan bunu nasıl yapabildiğinizi bilmiyorum. Bu nedenle, iptables özellikle gerekli olmasa da, bir sarıcı içeren herhangi bir çözüm, bir şekilde tcp veya ip politikasıyla etkileşime girmelidir. Trafiği başka bir yere yönlendiren layer2 veya layer3 ağı olmadan bunun nasıl yapıldığını bilmiyorum.
belacqua

Yanıtlar:


1

Aradığın şey bir LS_PRELOAD şimi, detaylı açıklama ve örnek kod için Daniel Lange'nin blog girişine bakın.


3
Ubuntu'ya Sormaya Hoş Geldiniz! Bu soruyu teorik olarak cevaplayabilse de , cevabın temel kısımlarını buraya eklemek ve referans için bağlantıyı sağlamak tercih edilir.
Stormvirux

1

Bağlantı markalama ve rota politikası için daha karmaşık bir yaklaşım kullanabilirsiniz.
Bir yazılımı ve anter çalıştıran bir kullanıcı varsa, iyi çalışacaktır.
Bu şekilde, bir kullanıcının bağlantılarını işaretleyebilir ve diğerlerinin varsayılanını kullanacağını belirtirken belirli yönlendirme tablosu kullanabilirsiniz.
Hepsini anlamak için temel belge şurada: http://www.lartc.org/lartc.html
Ayrıca burada görebileceğiniz iki bağlantı örneği: /unix/58635/iptables- set-mark-route-diferent-port-through-different-arayüzleri
Yönlendirme politikasına izin vermek için bağlantıları işaretleyen "owner" iptables modülünü kullanabilirsiniz.


Politika yönlendirme farklı kullanıcılar için çalışır, ancak bir kullanıcının altında çalışan bir uygulama için çalışmaz (OP'de açıklandığı gibi). LD_PRELOADGidilecek gibi görünüyor (kötü amaçlı programlar için değil / güvenlik nedeniyle), belki birisi Bob Lebins'in gönderisini detaylandırabilir mi?
Lekensteyn

0

İşte örnek bir çözüm. Konileri yönlendirmek için mevcut makinede kurulu olan SOCKS sunucusunu kullanır. Her uygulama, her sunucuyu kullanacak şekilde yapılandırılmalıdır.


3
Bu bir HTTP proxy'si gibi görünüyor, iki netcat örneği arasındaki bir bağlantı gibi diğer protokollerle çalışıyor mu?
Lekensteyn

0

Bir arabirimden indirdiğim ve diğerini Netflix'im için bıraktığım farklı ağ arabirimlerini paylaşmak için VMware iş istasyonu makinesini de kullanabilirsiniz.

VMware'de hem ethX hem de wlanX'i kurmanız gerekir, ancak bir kez yapılandırdıktan sonra indirmeye veya göz atmaya hazırsınız.

Oldukça pürüzsüz. Ayrıca harika çalışan arayüzleri bağlamak için güvenlik duvarı kullanabilirsiniz.


Bu özel uygulama için çalışırken, ne yazık ki VM dışındaki Firefox gibi diğer uygulamalarda kullanılamaz.
Lekensteyn
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.