Как создать виртуальный интерфейс из SOCKS прокси?

Я хочу создать сетевой интерфейс из прокси-сервера SOCKS 5 на localhost. В конечном итоге это будет соединено с беспроводным интерфейсом, который у меня есть, который будет работать в режиме AdHoc. Это позволит всем клиентам на этом интерфейсе использовать прокси socks, даже если у них нет поддержки SOCKS. Это будет поддерживать мои іустройства, PSP и т. д., Когда я нахожусь в пути. Его уберут с моего ноутбука. Может кто-нибудь дать некоторые полезные ресурсы, которые помогут мне сделать Сокс настройка интерфейса на моей машине с Ubuntu? Заранее спасибо!

10
задан Hennes
14.12.2022 19:48 Количество просмотров материала 3595
Распечатать страницу

3 ответа

конечно, это возможно! Проверьте следующую ссылку:

https://code.google.com/p/badvpn/wiki/tun2socks

2
отвечен tun2socks 2022-12-16 03:36

вы не можете этого сделать, потому что SOCKS не работает на достаточно низком уровне – он может только прокси-соединения TCP, а не необработанные IP-пакеты. Это было бы необходимо для настройки маршрутизации с или без NAT; но преодоление (например,brctl) требует даже больше-способность послать сырцовые рамки локальных сетей.

вы должны смотреть в VPN вместо этого-OpenVPN довольно прост в настройке.

1
отвечен grawity 2022-12-16 05:53

вам нужно tun2socks, она является частью проекта BadVPN (https://github.com/ambrop72/badvpn). Там уже есть ответ здесь рекомендовать tun2socks, но не хватает примеров.

вы можете собрать tun2socks из исходного кода или установить предкомпилированный пакет. Например, в Ubuntu:

sudo add-apt-repository ppa:hda-me/badvpn-tun2socks
sudo apt-get update
sudo apt-get install badvpn-tun2socks

ip tuntap add dev tun1 mode tun user nobody
ifconfig tun1 up 10.0.0.1/24

# --netif-ipaddr 10.0.0.2 is not a typo.
# It specifies the IP address of the virtual router inside the TUN device,
# and must be different than the IP of the TUN interface itself.
# This command assumes you have tor up and running on 127.0.0.1:9050.
# Of course, you can use any other SOCKS proxy instead.
badvpn-tun2socks --tundev tun1 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:9050

Далее, вам нужно решить, хотите ли вы направить весь трафик через прокси-сервер или просто трафик на определенные IP-адреса или хосты. Если у вас есть такой список (или вы можете создать его с помощью разумное количество усилий), это самое эффективное решение.

# Here list of hosts or IPs to route through proxy is just an example.
# You need to specify your own list.
list_of_IPs_to_route_via_proxy="example.com 203.0.113.5"
for IP in $(echo $list_of_IPs_to_route_via_proxy); do
  route add $IP gw 10.0.0.2; done

Если вам нужно маршрутизировать весь трафик через прокси, это будет немного сложнее. В этом случае предлагаю внимательно прочитать https://github.com/ambrop72/badvpn/wiki/Tun2socks. Официальная документация предполагает, что вы хотите использовать localhost:1080 в качестве прокси-сервера, и дает инструкции по созданию локального сервера SOCKS с динамической переадресацией SSH. Самая важная часть документация:

подключение к SSH серверу, передача-D localhost: 1080 в ssh команда для включения динамической пересылки. Это сделает ssh открытым локальным Сервер SOCKS, который будет использовать badvpn-tun2socks. Если вы используете Putty, зайти в Соединение - > SSH - > туннели, введите 1080 в исходном порту, выберите динамический и нажать кнопку add.

все, что остается для помощью устройство tun вместо существующего шлюза по умолчанию. Это делается следует:

добавьте маршрут к серверу SSH через существующий шлюз, с более низкой метрикой, чем исходный маршрут по умолчанию. Если DNS-серверы находятся в Интернете (а не в локальной сети), также добавьте маршруты для них (например, для SSH-сервера). Это требуется, потому что tun2socks не пересылает UDP по умолчанию (см. ниже). Добавьте маршрут по умолчанию через виртуальный маршрутизатор в устройстве TUN с более низкой метрикой, чем исходный маршрут по умолчанию, но выше, чем в СШ DNS и маршруты.

это сделает все внешние соединения пройти через устройство TUN, кроме подключения по SSH (еще СШ пойдет через Тун устройство, которое должно пройти... SSH).

например (предполагая, что нет существующих маршрутов по умолчанию с метрикой <=6; в противном случае удалите их или измените их метрики), в Linux:

route add <IP_of_SSH_server> gw <IP_of_original_gateway> metric 5 <same for DNS>
route add default gw 10.0.0.2 metric 6

документация также есть примеры использования tun2socks для UDP переадресация, как направить весь трафик через Tor, как получить поддержку IPv6.

1
отвечен Lissanro Rahyen 2022-12-16 08:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх