Вопрос Прокси на Ubuntu


Цель состоит в том, чтобы машина Ubuntu выступала в качестве прокси-сервера для другой машины в глобальной сети. Каков самый простой способ сделать это?

Чтобы объяснить более подробно: в одной глобальной сети есть две машины, но один из них может получить доступ к Интернету, а другой не может. Однако можно говорить с одной машины на другую. Поэтому нужно настроить прокси-сервер на доступной в Интернете машине (с установленной Ubuntu).

Примечание. Речь идет не об использовании одной машины в качестве моста в той же локальной сети, что можно сделать легко, это другой подход (как я понимаю).


1
2017-12-12 16:55


происхождения


сообщите мне, если машина, в которой вы хотите действовать как прокси для другой машины, имеет прямое соединение или сама позади другого прокси-сервера? - souravc
Это прямая связь. - v010dya


ответы:


Очень простое решение - установить пакет прокси-сервера, например polipo. Для одной машины, обслуживающей Интернет, к одному другому устройству, которое, вероятно, все, что вам нужно сделать.

sudo apt-get install polipo

Затем просто настройте службу polipo, чтобы разрешить соединения с другим устройством, например, отключить комментарий и изменить следующие строки в /etc/polipo/config файл:

proxyAddress = "0.0.0.0"

allowedClients = 192.168.56.0/24

Затем перезапустите сервер polipo, чтобы обновить его конфигурацию:

sudo /etc/init.d/polipo restart

Более сложная часть состоит в том, чтобы убедить ваше другое устройство (ы) использовать прокси-сервер polipo. Установка прокси-сервера полностью зависит от программного обеспечения на машине, не подключенной напрямую.


1
2018-04-16 09:39





Мой сценарий включал то же самое с единственным исключением, что другой компьютер (нуждающийся в Интернете) был планшетом Android в моем случае. Я использовал iptables для маршрутизации. Это простое и готовое решение на платформах Ubuntu / Debian. Вот пример сценария маршрутизации, который можно запустить на машине с поддержкой Интернета:

#Instead of ppp0, use the interface you use to access the internet
#Instead of wlan0, use the interface connected to your "internet-needy" machine
#####Enable Forwarding:
sysctl -w net.ipv4.ip_forward=1
iptables -P FORWARD ACCEPT

###########Create NAT rules using IPTables
iptables --table nat --delete-chain
iptables --table nat -F
iptables --table nat -X
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A FORWARD -i ppp0 -o wlan0 -j ACCEPT -m state --state RELATED,ESTABLISHED
iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT
###########

#Allow through firewall
iptables -A OUTPUT --out-interface wlan0 -j ACCEPT
iptables -A INPUT --in-interface wlan0 -j ACCEPT

После запуска этого сценария ваша машина ubuntu выступает в роли маршрутизатора между интернет-машиной и Интернетом, пересылая между ними интернет-пакеты.

Просто имейте в виду, что маршрутизация происходит на гораздо более низком уровне, чем проксирование и, следовательно, лучше в производительности. Единственным недостатком является то, что вы не можете делать такие вещи, как отфильтровать контент или аутентификацию пользователя на основе прокси-клиента. Однако, если вы просто хотите обмен через Интернет с хорошей производительностью, я рекомендую этот метод.


1
2017-12-12 17:49