У меня есть SOCKS прокси с портом.
Как я могу заставить мой MAC использовать это? Какие настройки я могу изменить в настройках сети?
У меня есть SOCKS прокси с портом.
Как я могу заставить мой MAC использовать это? Какие настройки я могу изменить в настройках сети?
Хотя настройка общесистемных настроек прокси-сервера является хорошим началом, вы также можете использовать iptables, чтобы убедиться, что весь трафик проходит через прокси-сервер. Некоторые приложения не используют общесистемные параметры конфигурации (в том числе Firefox), и поэтому крайне важно, чтобы вы адаптировали свои правила, чтобы не допускать прямых подключений и только для маршрутизации трафика через прокси.
РЕДАКТИРОВАТЬ: Хотя я лично использую правила iptables
для управления потенциальной "утечкой" из VPN, я изначально ошибался, полагая, что iptables может работать с прокси-сервером socks напрямую. Вам понадобится что-то вроде tun2socks , чтобы создать интерфейс виртуального туннеля (например, использование vpn).
После этого вы можете настроить скрипт iptables, подобный следующему:
#!/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
Естественно, вы захотите, чтобы этот скрипт отражал вашу конкретную сеть (т. Е. Если вы используете что-то вроде подсети 192.168.0.0/24, настройте соответственно). Кроме того, он очень тесно основан на сценарии, который я использую с VPN, поэтому все упоминания MYVPN или VPN - хотя вы не используете VPN, tun2socks
эффективно ведет себя так, как если бы вы были, поэтому все должно работать одинаково.
И особая благодарность за этот ответ в Unix.SE для того, чтобы направить меня в правильном направлении, чтобы ответить на этот.
РЕДАКТИРОВАТЬ еще раз: Итак, похоже, что OS X на самом деле будет делать это с ipfw
а не с iptables (извините, я в основном человек с Linux, и думал, что OS X имеет iptables в наличии) Существуют такие эквиваленты, что сценарий можно адаптировать, некоторые из которых указаны здесь. man ipfw
должен указать вам синтаксис. Я оставлю оригинальный скрипт iptables
в качестве шаблона, чтобы вы могли увидеть, что происходит концептуально. Похоже, что WaterRoof может сделать использование ipfw
более удобным; другие внешние интерфейсы также могут быть доступны.
Если вы можете установить себе SSH-сервер, то бесплатный sshuttle может туннелировать весь TCP-трафик через соединение, выполняя всю работу брандмауэра за вас.
Чтобы перенаправить весь TCP-трафик и DNS-запросы на удаленный SSH-сервер, команда достаточно проста:
sshuttle --dns -vr ssh_server 0/0
Помимо TCP и DNS, sshuttle не пересылает другие запросы, такие как UDP, ICMP, ping и т.д.
Для получения дополнительной информации и примеров см. Статью Использование Sshuttle в повседневной работе.
Почему системные настройки -> сеть -> (выберите сеть в левой части окна и выберите «Дополнительно» в правом нижнем углу) -> «Прокси» (вкладка вверху) для вас?
Есть целый ряд доступных решений. Ни один из них не так прост, как изменение некоторых настроек: причина в том, что это сводит на нет всю цель прокси, то есть направлять какое-то конкретное приложение по другому маршруту (в целях скрытности, безопасности, защиты идентификационных данных ...), оставляя Вы получаете доступ к (предположительно, более быстрому) локальному маршруту.
Некоторые из них следует отбросить из-за ваших требований, но позвольте мне просто упомянуть их для полноты: VPN, туннель SSH, использование pfctl (фильтр пакетов и интерфейс управления NAT). Кроме того, Tor, хотя определенно не предназначен для использования, которое вы имеете в виду, позволяет вам направлять весь трафик через их прокси.
Все эти приложения бесплатны, и для их запуска требуется не менее изобретательность. С другой стороны, существуют платные приложения, в которых большая часть работы выполнена кем-то другим, хотя и по цене.
позволяет перенаправить сетевые подключения вашего компьютера через прокси-серверы. Вы можете указать ProxyCap, какие приложения будут подключаться к Интернету через прокси и при каких обстоятельствах. Это делается через удобный интерфейс, без необходимости перенастраивать любой из ваших интернет-клиентов
Кроме того, есть Proxifier для Mac (осторожно: поддерживает только до 10,8). который
позволяет сетевым приложениям, которые не поддерживают работу через прокси-серверы, работать через SOCKS или HTTPS-прокси и цепочки.
Перейдите в «Настройки» -> «Сеть». Проверьте, есть ли блокировка, нажмите на нее и введите пароль учетной записи системного администратора. Затем Advanced-> Proxies-> Проверить прокси Socks. Дайте свои настройки прокси.