Create proxy on linux

How to configure proxy settings on Ubuntu 18.04

Overview

Proxies are commonly found on business networks, but they are increasingly becoming popular for personal use. The following tutorial will show you multiple ways of setting your proxy in Ubuntu 18.04, allowing you to browse the Internet with additional privacy.

This tutorial will cover the following three areas. Use the one the fits your needs.

Desktop: learn how to set your proxy settings from within the desktop.

Terminal: set environment variables for your proxy server when using a terminal or console.

All users: setting the proxy settings for all users on the system.

Ubuntu Desktop Network Settings

To configure your proxy settings in Ubuntu Desktop you need to access Network Settings. Within there you can set a number of parameters, including proxy settings for HTTP traffic, HTTPS traffic, and FTP traffic.

Equally as important as setting your Internet proxy settings is setting Ignore Hosts, to prevent local traffic from going through your proxy server.

To set your proxy in Ubuntu Desktop, do the following:

  1. Open the Application launcher by clicking the “Show Applications” icon, located at the bottom of the left-hand quick application access bar.
  2. Type in ‘Settings’
  3. Click the ‘Settings’ icon.
  4. From the left-hand navigation, click the Network tab.

Network Settings Configuration Screen
Click the cog icon near the Network Proxy label.

Network settings proxy icon

  • A dialog box will appear where you can set your proxy settings.
  • In the appropriate text fields, enter your proxy server’s hostname or IP address. Ensure you change the port number to match your proxy server’s, too.

    Ubuntu Proxy Settings Dialog Box

  • Close the dialog box. Your settings will be automatically saved.
  • Ubuntu Terminal Proxy Settings

    Like every Linux distribution, proxy settings can be set using environment variables. There are a number of variables available to use, ranging from HTTP traffic to FTP traffic.

    Proxy settings can be either persistent by setting them in your profile, or non-persistent by setting them from the shell session.

    Proxy Environment Variables

    Variable Description
    http_proxy Proxy server for HTTP Traffic.
    https_proxy Proxy server for HTTPS traffic
    ftp_proxy Proxy server for FTP traffic
    no_proxy Patterns for IP addresses or domain names that shouldn’t use the proxy

    The value for every proxy setting, except for no_proxy, uses the same template. They all require a hostname, but you may optionally specify a proxy server port and your user credentials if required to do so. For example:

    Single User Temporary Proxy Settings

    You may not always want to force Internet traffic through a proxy. Sometimes you need to override existing settings, and you can do this safely by setting the proxy environment variables from the command line.

    The following will set a proxy for HTTP and HTTPS, while preventing local traffic from going through the proxy. Our example proxy server endpoint is my.proxy.server:8080 for HTTP traffic and my.proxy.server:8081 for HTTPS.

    1. Open a Terminal window where you need proxy access.
    2. Set and export the HTTP_PROXY variable.
    3. Set and export the HTTPS_PROXY variable.
    4. Set and export the NO_PROXY variable to prevent local traffic from being sent to the proxy.

    Single User Persistent Proxy Settings

    1. Open your bash profile file into a text editor.
    2. Add the following lines, modifying them to match your environment.
    3. Save your settings.
    4. The proxy settings will be applied the next time you start a session, by logging into the server or opening a new Terminal window from a Desktop.
    5. To force apply your new proxy settings in the current Terminal session, execute the source command against your bash profile.

    All Users

    You will need administrative rights to perform this task. All versions of Ubuntu and Debian have a file called /etc/environment. Within this file, we can set global variables and other such things.

    Similar to how you set proxy settings for your own local proxy, we’ll be adding the environment variables to this file. The variables will be set when a new user session is created, which is to say when you log in next.

    1. Using an administrator account, open /etc/environment into a text editor.
    2. Add the following lines, modifying them to fit your environment. Username and password may be omitted, if not required.

    For example, if you do not need to enter a username or password, and your proxy server is my.proxyserver.net at port 8080, and you do not want local traffic going through the proxy, you would enter the following:

  • Save your changes and exit the text editor.
  • Источник

    Настройка прокси-сервера на Linux

    На Линукс прокси сервер можно подключить при помощи ввода новых настроек в терминал. Ниже мы подробно разберем, какие данные нужно вводить в командную строку, чтобы правильно настроить прокси. За основу возьмем Kali Linux, но принцип настройки сервера-посредника будет идентичным на всех версиях этой операционной системы.

    Настройка прокси Линукс: пошаговая инструкция

    Для подключения прокси-сервера на этой операционной системе вам нужно выполнить следующие шаги:

    1. Откройте терминал.
    2. Введите туда фразу «sudo apt-get install git gcc» (без кавычек) и нажмите «Enter».

    В будущем нажимайте клавишу «Enter» после ввода каждой новой команды.

    Напишите «sudo apt-get remove proxychains», чтобы удалить старые данные.

    Введите «git clone https://github.com/rof10r/proxychains-ng.git» для копирования нужных параметров.

    Перейдите в скопированную папку, введя: «cd proxychains-ng».

    Пропишите «./configure —prefix=/usr —sysconfdir=/etc».

    Впишите в консоль команду «Make».

    Затем: «sudo make install».

  • Дальше, чтобы установить прокси на Линукс, нужно будет подождать некоторое время, пока пройдет загрузка необходимых данных.
  • После завершения установки вводим «sudo make install-config».

    С установкой на этом мы закончили, теперь нужно настроить прокси-сервер Линукс. Для этого начнем редактирование файла с конфигурациями прокси-цепочек в блокноте.

    Введите «leafpad /etc/proxychains.conf».

    После открытия блокнота пролистайте его в самый низ до раздела «ProxyList».

    Перед нижней строкой ставим символ «#». По умолчанию его там быть не должно.

    Теперь вам понадобится прокси-сервер.

    При выборе прокси старайтесь избегать прозрачных серверов (transparent). Они не обеспечат вам анонимность при работе в интернете, так как не скрывают действительный IP-адрес.

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

    «http 223.16.229.241 8080».

    Первое число — это IP вашего прокси, второе — его порт. Пропуски такого плана делайте при помощи нажатия на кнопку «Tab».

    Закройте файл, сохранив изменения.

    Теперь вы сможете запускать любое необходимое приложение, имеющее доступ к интернету, через прокси-сервер. Для этого нужно перед командой вызова программы в консоли вводить фразу «proxychains4».

    Например, чтобы запустить на вашем компьютере браузер Firefox через прокси нужно ввести следующую фразу: «proxychains4 firefox».

    Узнать текущий IP-адрес используемого прокси-сервера можно, введя фразу «proxychains4 wget -qO- eth0.me».

    Настройка завершена! Теперь вы можете использовать прокси сервер на Линукс для повышения анонимности, защиты от различных видов сетевых атак и решения многих других задач.

    Источник

    Установка и использование 3proxy на Ubuntu

    Настройка брандмауэра

    По умолчанию, в Ubuntu брандмауэр разрешает все подключения. Однако, если у нас настроен фаервол для запрета лишних соединений, необходимо открыть порт для прокси.

    а) если используем Iptables.

    iptables -I INPUT 1 -p tcp —dport 3128 -j ACCEPT

    * если система вернет ошибку при вводе команды для сохранения правил, устанавливаем пакет командой apt-get install iptables-persistent.

    б) если у нас firewalld.

    firewall-cmd —permanent —add-port=3128/tcp

    * 3128 — порт по умолчанию, по которому работает 3proxy в режиме прокси;

    Установка и запуск 3proxy

    3proxy отсутствует в репозиториях Ubuntu, поэтому для установки сначала необходимо скачать его исходник.

    Для начала устанавливаем пакет программ для компиляции пакетов:

    apt-get install build-essential

    Переходим на официальную страницу загрузки 3proxy и копируем ссылку на версию пакета для Linux:

    . используя ссылку, скачиваем пакет:

    * в моем случае будет скачена версия 0.9.3.

    Распакуем скачанный архив:

    tar xzf 0.9.3.tar.gz

    Переходим в распакованный каталог:

    Запускаем компиляцию 3proxy:

    make -f Makefile.Linux

    Создаем системную учетную запись:

    adduser —system —disabled-login —no-create-home —group proxy3

    Создаем каталоги и копируем файл 3proxy в /usr/bin:

    mkdir -p /var/log/3proxy

    cp bin/3proxy /usr/bin/

    Задаем права на созданные каталоги:

    chown proxy3:proxy3 -R /etc/3proxy

    chown proxy3:proxy3 /usr/bin/3proxy

    chown proxy3:proxy3 /var/log/3proxy

    Смотрим uid и gid созданной учетной записи:

    Получим, примерно, такой результат:

    uid=109(proxy3) gid=113(proxy3) groups=113(proxy3)

    * где 109 — идентификатор пользователя; 113 — идентификатор для группы.

    Создаем конфигурационный файл:

    setuid 109
    setgid 113

    nserver 77.88.8.8
    nserver 8.8.8.8

    nscache 65536
    timeouts 1 5 30 60 180 1800 15 60

    external 111.111.111.111
    internal 111.111.111.111

    log /var/log/3proxy/3proxy.log D
    logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»
    rotate 30

    allow * * * 80-88,8080-8088 HTTP
    allow * * * 443,8443 HTTPS

    * необходимо обратить внимание на настройки setuid и setgid — это должны быть значения для созданной нами учетной записи; external и internal — внешний и внутренний интерфейсы (если наш прокси работает на одном адресе, то IP-адреса должны совпадать).

    Настройка браузера

    Проверяем работоспособность нашего 3proxy. Для этого настраиваем браузер для работы через прокси-сервер, например, Mozilla Firefox:

    . пробуем открыть сайты.

    Настройка автозапуска

    Для автозагрузки 3proxy настроим его как сервис. Создаем файл в systemd:

    [Unit]
    Description=3proxy Proxy Server

    [Service]
    Type=simple
    ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
    ExecStop=/bin/kill `/usr/bin/pgrep -u proxy3`
    RemainAfterExit=yes
    Restart=on-failure

    Обновляем конфигурацию systemd:

    Разрешаем запуск сервиса и стартуем его:

    systemctl enable 3proxy

    systemctl start 3proxy

    Настройка аутентификации

    Для редактирования настроек открываем конфигурационный файл:

    Добавляем опции users и добавляем пользователей:

    users 3APA3A:CL:3apa3a «test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1»
    users dmosk1:CL:password
    users «dmosk2:CR:$1$UsbY5l$ufEATFfFVL3xZieuMtmqC0»

    * в данном примере мы добавили 3-х пользователей: 3APA3A с паролем 3apa3a, dmosk1 с открытым паролем password и dmosk2 с паролем dmosk2 в виде md5 и солью UsbY5l (Для получения хэша пароля можно воспользоваться командой openssl passwd -1 -salt UsbY5l, где в качестве соли можно использовать любую комбинацию).
    * обратите внимание, при использовании знака $, строчка пишется в кавычках.

    * возможные типы паролей:

    • CL — текстовый пароль
    • CR — зашифрованный пароль (md5)
    • NT — пароль в формате NT.

    Чтобы включить запрос логина, необходимо поменять значение для опции auth на strong:

    * возможные варианты для auth:

    • none — без авторизации.
    • iponly — авторизация по IP-адресу клиента.
    • nbname — по Netbios имени.
    • strong — по логину и паролю.

    Также можно использовать двойную авторизацию, например:

    auth nbname strong

    После внесения изменений, перезапускаем службу:

    systemctl restart 3proxy

    SOCKS

    Для прозрачного прохождения пакетов через прокси можно настроить SOCKS5. В конфигурационном файле добавляем:

    * запускаем socks на порту 1080.

    socks -p8083 -i192.168.1.23 -e111.111.111.111

    * запускаем socks на порту 8083; внутренний интерфейс — 192.168.1.23, внешний — 111.111.111.111.

    После перезапускаем сервис:

    systemctl restart 3proxy

    Настройка анонимности

    Для обеспечения полной анонимности при использовании прокси-сервера, делаем дополнительные настройки.

    1. Меняем порты, которые используются по умолчанию — 3128, 1080. Данные порты известны, как порты для прокси. Открываем конфигурационный файл 3proxy:

    socks -p1088
    proxy -n -p3111

    * в данном примере мы укажем серверу работать на портах 3111 и 1088.

    После перезапускаем сервис:

    systemctl restart 3proxy

    2. Необходимо, чтобы время на сервере совпадало с временем на компьютере.

    На стороне сервера необходимо задать часовой пояс, например, если наш прокси находится в Германии, вводим:

    timedatectl set-timezone Europe/Berlin

    На стороне клиента либо меняем часовой пояс в системе, либо устанавливаем плагин для браузера, например, для Mozilla Firefox и меняем часовой пояс уже в нем.

    3. Отключение icmp. По времени ответа на ping можно определить отдаленноесть клиента от прокси. Чтобы проверку нельзя было выполнить, отключаем на сервере icmp. Для этого создаем файл:

    И применяем настройки:

    sysctl -p /etc/sysctl.d/icmp.conf

    4. Проверяем настройки.

    Открываем браузер, который работает через прокси и переходим на страницу 2ip.ru/privacy — кликаем по Проверить:

    Будет выполнена проверка анонимности нашего сервера.

    Дополнительные настройки

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

    Настройка портов и прокси-интерфейсов

    При необходимости, можно настроить 3proxy на использование разных интерфейсов на разных портах:

    proxy -n -a -p3128 -i192.168.0.23 -e222.222.222.222
    proxy -n -a -p8080 -i192.168.1.23 -e111.111.111.111

    * 3proxy будет слушать на порту 3128 с внутреннего интерфейса 192.168.0.23 и направлять пакеты в сеть Интернет через внешний интерфейс 222.222.222.222, а также, на порту 8080 для внутреннего и внешнего интерфейсов 192.168.1.23 и 111.111.111.111 соответственно.
    * не забываем также настраивать брандмауэр (вначале инструкции мы открывали только 3128 порт).

    systemctl restart 3proxy

    Ограничение пропускной способности

    При необходимости, можно ограничить скорость.

    bandlimin 1000000 user1,user3
    bandlimin 5000000 user2,user4

    * в данном примере пользователям user1 и user3 установлено ограничение в 1000000 бит/сек (1 мбит); для user2 и user4 — 5 мбит/сек.

    systemctl restart 3proxy

    Ограничения доступа

    Можно ограничить доступ и разрешить только для определенных портов, сетей и пользователей.

    • userlist — список пользователей через запятую.
    • sourcelist — сети клиентов через запятую.
    • targetlist — сети назначения через запятую.
    • targetportlist — порты назначения через запятую.
    • commandlist — команды, к которым применяется правило.
    • weekdays — в какие дни недели работает правило. 0 — 6 — Пн — Вс, 7 — тоже Вс.
    • timeperiodslist — время, когда работает правило. Указываются диапазоны.

    allow * * * 80 HTTP
    allow * * * 443,8443 HTTPS
    allow * * * 21 FTP

    * в данном примере пользователям user1 и user3 установлено ограничение в 1000000 бит/сек (1 мбит); для user2 и user4 — 5 мбит/сек.

    Также, ограничить доступ можно по количеству одновременных соединений для каждой службы:

    maxconn 700
    proxy -n -a -p3128 -i192.168.0.23 -e222.222.222.222
    proxy -n -a -p8080 -i192.168.1.23 -e111.111.111.111

    * таким образом, мы установим 700 максимальных соединений для прокси на порту 3128 и 700 — для proxy на порту 8080.

    Источник

    Читайте также:  Size windows 10 64 bit
  • Оцените статью