Tüm Mac'imin TCP trafiğinin bir SOCKS5 proxy'sinden geçtiğinden nasıl emin olabilirim?


13

Bağlantı noktası olan bir SOCKS proxy'im var.

MAC bilgisayarımı nasıl kullanabilirim? Ağ ayarları altında hangi ayarları değiştiririm?

Yanıtlar:


3

Sistem tercihleri ​​-> ağ -> (Pencerenin sol tarafında bir ağ seçin ve sağ altta Gelişmiş'i seçin) -> Proxy'ler (üstteki sekme) sizin için çalışmıyor?

resim açıklamasını buraya girin


9
Bu, tüm uygulamalar için geçerli değildir. Skype, Chrome ve diğerleri bu ayarları
atlıyor

Söylediklerin doğru. Diğer yorumlarda bile bahsedildi. Yazar, basit istediklerini açıkça ortaya koydu, bu yüzden basit bir şekilde, gönderdiğim cevabın onlar için işe yaramayacağını sorarak başladım. Açıkçası onlar için çalıştı çünkü seçtiler. Güvenlik her zaman% 100 yanıtından ibaret değildir. Çoğu zaman risk azaltma ile ilgilidir.
Everett

1
Terminal sistem ağı çorapları5 proxy ayarlarını kabul edemez, ancak uygulama genelinde tamam olacaktır.
E_Jovi

6

Kendinize bir SSH sunucusu kurabilirseniz, ücretsiz sshuttle bağlantı yoluyla tüm TCP trafiğini tünelleyebilir ve tüm güvenlik duvarı sizin için çalışır.

Tüm TCP trafiğini ve DNS isteklerini uzak bir SSH sunucusuna iletmek için komut yeterince basittir:

sshuttle --dns -vr ssh_server 0/0

TCP ve DNS'nin yanı sıra sshuttle, UDP, ICMP, ping vb.Gibi diğer istekleri iletmez.

Daha fazla bilgi ve örnek için Günlük Çalışmada Sshuttle Kullanımı makalesine bakın .


Sorgulayıcının bu amaçla kullanması gereken bir SSH sunucusu olmasa da, en azından bana getirdiği bu harika araç ve işlevselliği hatırlattığınız için teşekkür ederim. Bu sözdiziminin sadeliği harika ve arka uçta iptables veya ipfw ile başa çıkabilmek gerçekten çatılardan övülmeye değer bir özellik.
0xDAFACADE

Bu, tüm TCP trafiğini yeniden yönlendirmez, örneğin çalışan VMWare'iniz bunu atlar.
Soheil

5

Sistem genelinde proxy ayarlarını yapmak iyi bir başlangıç ​​olsa da, tüm trafiğin proxy üzerinden geçtiğinden emin olmak için iptables kullanmaya bakmak da isteyebilirsiniz. Bazı uygulamalar sistem genelinde yapılandırma ayarlarını (aralarında Firefox) kullanmaz ve bu nedenle kurallarınızı doğrudan bağlantılara izin vermemek ve yalnızca proxy üzerinden trafiği yönlendirmek için uyarlamanız gerekir.

EDIT: Ben iptablesVPN benim potansiyel "sızıntı" yönetmek için kurallar kullanırken , aslında aslında iptables doğrudan çorap proxy ile çalışabileceğini düşündüm. Sanal tünel arabirimi (vpn kullanımı gibi) yapmak için tun2socks gibi bir şeye ihtiyacınız olacak .

Bunu takiben, aşağıdakine benzer bir iptables betiği oluşturabilirsiniz:

#!/bin/bash
if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root" 1>&2
    exit 1
fi

# name of primary network interface (before tunnel)
PRIMARY=eth0

# gateway ip address (before tunnel - adsl router ip address)
# automatically determine the ip from the default route
GATEWAY=`route -n | grep $PRIMARY | egrep "^0\.0\.0\.0" | tr -s " " | cut -d" " -f2`

# provided by tun2socks: interface name
TUNNEL=tun0

# If you'd like, putting the tun2socks command here is a good idea.  It may or may not be necessary to do so, but either way is more convenient than running the two commands separately.

# iptables rules - important!

LOCAL_NET=192.168.0.0/16
#LOCAL_NET=$GATEWAY

# Flush all previous filter rules, you might not want to include this line if you already have other rules setup
iptables -t filter --flush

iptables -t filter -X MYVPN
iptables -t filter -N MYVPN

# Add local routes to routing table
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
route add -host 23.21.163.237 dev eth0 gw 192.168.1.1

# Add ssh routes to routing table
ip route add table 128 to 192.168.1.0/24 dev eth0
ip route add table 128 default via 192.168.1.1

# Exceptions for local traffic & vpn server
iptables -t filter -A MYVPN -o lo -j RETURN
iptables -t filter -A MYVPN -o ${TUNNEL} -j RETURN
iptables -t filter -A MYVPN --dst 127.0.0.1 -j RETURN
iptables -t filter -A MYVPN --dst $LOCAL_NET -j RETURN
iptables -t filter -A MYVPN --dst ${SERVER} -j RETURN
iptables -t filter -A MYVPN --dst ${VPN_SERVER} -j RETURN

# Add extra local nets here as necessary

iptables -t filter -A MYVPN -j DROP

# MYVPN traffic leaving this host:
iptables -t filter -A OUTPUT -p tcp --syn -j MYVPN
iptables -t filter -A OUTPUT -p icmp -j MYVPN
iptables -t filter -A OUTPUT -p udp -j MYVPN

Doğal olarak bu komut dosyasının ağınızı yansıtmasını istersiniz (yani, 192.168.0.0/24 alt ağı gibi bir şey kullanıyorsanız, buna göre ayarlayın). Ayrıca, bir VPN ile kullandığım bir komut dosyasına çok sıkı bir şekilde dayanıyor, bu nedenle, tüm MYVPN veya VPN'den bahsediyor - bir VPN kullanmıyorken, tun2sockssanki sizin gibi etkili bir şekilde davranıyor, bu yüzden her şey aynı şekilde çalışmalı.

Ve Unix.SE'deki bu cevaba teşekkürlerimi, bu cevabı cevaplamak için doğru yöne yönlendirdiğim için teşekkürler .

Tekrar DÜZENLEME: Yani, OS X aslında ipfwiptables yerine bunu yapıyor gibi görünüyor (üzgünüm, çoğunlukla linux bir insanım ve OS X'in iptables olduğunu düşündüm). Komut dosyasının uyarlanabileceği, bazıları burada işaret edilen eşdeğerlikler vardır . man ipfwsizi doğrudan sözdizimine ayarlamalıdır. iptablesKavramsal olarak neler olduğunu görebilmeniz için orijinal senaryoyu şablon olarak bırakacağım . WaterRoof , ipfwkullanımı biraz daha kullanıcı dostu hale getirebilir ; diğer ön uçlar da mevcut olabilir.


Iptables kullanmak istemiyorum çünkü çok karmaşık. Tun2socks, SSH ve bir sunucuya ihtiyacım var gibi görünüyor. Sadece bir IP ve portum var ... IP ve portu nasıl kullanabilirim?
Alex

tun2socksSSH ve sunucu gerektirmez; sitelerindeki örnek, ilk olarak SOCKS proxy'sini oluşturmak için SSH'yi kullanmak içindir. Zaten bir SOCKS proxy'niz varsa, tamamen gereksizdir. Ve evet, iptablesbenim açımdan yanlış bir yoldu. BSD'ye dayanan OS X, Linux çekirdeği için ipfwolandan ziyade kullanır iptables. Karmaşık gelince, sizin için daha kolay bir şekilde ayarlayacak bir ön uç bulabilirsiniz, ancak bu konuda deneyimim yok. Zaten düşük bir seviyede karmaşık olmasının, iş için neden bu kadar yetenekli olduğu ile çok ilgisi var.
0xDAFACADE

Gezinmeyi ipfwkolaylaştırmaya yardımcı oluyorsa, yanıtı kullanmanız için bir ön uç ekledim .
0xDAFACADE

0

Bir dizi çözüm mevcuttur. Hiçbiri bazı ayarları değiştirmek kadar basit değildir: bunun nedeni, belirli bir uygulamayı farklı bir yoldan (gizlilik, güvenlik, kimlik koruması ... amacıyla) yönlendirmek olan proxy işleminin tüm hedefini yenmesidir. (sözde daha hızlı) yerel rotaya erişirsiniz.

Bazıları gereksinimleriniz nedeniyle atılmalıdır, ancak tamlık uğruna bunlardan bahsetmeme izin verin: bir VPN, SSH tüneli, pfctl kullanımı (paket filtresi ve NAT kontrol arayüzü). Ayrıca Tor, kesinlikle aklınızdaki kullanılmak üzere tasarlanmamış olsa da, rota boyunca tüm trafiği izin verir onların vekilleri.

Tüm bu uygulamalar ücretsizdir ve devam edebilmek için en fazla biraz yaratıcılık gerektirir. Öte yandan, işin çoğunun bir başkası tarafından bir fiyata yapılmış olduğu ücretli uygulamalar var.

ProxyCap

bilgisayarınızın ağ bağlantılarını proxy sunucular üzerinden yönlendirmenize olanak tanır. ProxyCap'e hangi uygulamaların İnternet'e bir proxy üzerinden ve hangi koşullar altında bağlanacağını söyleyebilirsiniz. Bu, herhangi bir İnternet istemcinizi yeniden yapılandırmanıza gerek kalmadan kullanıcı dostu bir arayüz üzerinden yapılır.

Alternatif olarak, Mac için Proxifier vardır (dikkatli: sadece 10.8'e kadar destekler). hangi

proxy sunucuları üzerinden çalışmayı desteklemeyen ağ uygulamalarının SOCKS veya HTTPS proxy ve zincirleri aracılığıyla çalışmasına izin verir.


0

Tercihler-> Ağ'a gidin Bunun üzerinde bir kilit olup olmadığına bakın, üzerine tıklayın ve sistem yöneticisi hesap şifrenizi verin. Sonra Gelişmiş-> Proxy'ler-> Çorap Proxy'sini kontrol edin. Proxy ayarlarınızı verin.

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.