1. Подготовим каталог:
# mkdir /opt/ss5
# cd /opt/ss5
2. Скачаем SS5:
wget http://sourceforge.net/projects/ss5/files/ss5/3.8.9-8/ss5-3.8.9-8.src.rpm
wget http://sourceforge.net/projects/ss5/files/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
3. Установим зависимости:
# yum groupinstall 'Development Tools'
# yum install gcc automake autoconf libtool make pam-devel yum-utils openldap-devel openssl-devel
4. Проверим все ли зависимости установлены:
# yum-builddep ss5-3.8.9-8.src.rpm
5. Распаковываем исходники SS5 и устанавливаем:
# tar xvfz ss5-3.8.9-8.tar.gz
# cd ss5-3.8.9
# ./configure
# make
# make install
# cd /etc/opt/ss5/
5. Сделаем бекап конфигов:
# cp ss5.passwd ss5.passwd.bak
# cp ss5.conf ss5.conf.bak
6. Настройка SS5:
# vim ss5.conf
Несколько примеров настройки:
1) Разрешить без аутентификации доступ к socks-серверу в мир только со следующих адресов:
auth 0.0.0.0/0 - -
permit - 192.168.XXX.YYY/32 - 0.0.0.0/0 - - - - -
permit - 10.10.XXX.YYY/32 - 0.0.0.0/0 - - - - -
2) Разрешить без аутентификации доступ с socks-сервера в мир со всех адресов (открытый прокси):
auth 0.0.0.0/0 - -
permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
3) Разрешить доступ только с аутентификацией, например, пользователю user с паролем password доступ с socks-сервера в мир
auth 0.0.0.0/0 - u
permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - -
И надо добавить самого юзера и пароль:
# vim ss5.passwd
user password
7. Запуск SS5-сервера и проверка запущен ли он:
# ss5 -u root -b 0.0.0.0:1080
# netstat -tulpan | grep ss5
tcp 0 0 0.0.0.0:1080 0.0.0.0:* LISTEN 33026/ss5
# ps auxfww | grep ss5 | grep -v grep
root 33026 0.0 0.2 103324 2128 ? S 03:21 0:00 ss5 -u root -b 0.0.0.0:1080
Лог работы SS5:
# tail -f /var/log/ss5/ss5.log
8. Настройка ротации лога:
# cat /etc/logrotate.d/ss5
/var/log/ss5/ss5.log {
daily
rotate 3
dateext
compress
missingok
notifemptycopytruncate
}
9. Настройка iptables:
Создадим новый чейн:
# iptables -N socks
# iptables -A INPUT -p tcp --dport 1080 -j socks
# iptables -A socks -j LOG --log-prefix "input socks: "
Если мы настраиваем SS5 для доступа только от отдельных IP-адресов, то пишем:
# iptables -A socks -s 192.168.XXX.YYY -j ACCEPT
# iptables -A socks -s 10.10.XXX.YYY -j ACCEPT
И на всякий случай, остальное дропаем:
# iptables -A socks -j DROP
Теперь, давайте проверим с другого сервера выполнить запрос через SS5 Proxy:
# curl --socks5 IP.IP.IP.IP:1080 --proxy-user user:password http://ipinfo.io/ip
IP.IP.IP.IP
В логе увидим /var/log/ss5/ss5.log:
[07/Apr/2016:04:25:13 EDT] [44792] sourc_IP user "CONNECT" STARTED 0 0 0 (source_IP:46794 -> dest_IP:80)
[07/Apr/2016:04:25:14 EDT] [44792] source_IP user "CONNECT" TERMINATED 245 75 2 (source_IP:46794 -> dest_IP:80)
В логе iptables /var/log/messages:
Apr 7 03:40:21 DS823087 kernel: input socks: IN=eth0 OUT= MAC=00:16:3e:1b:f6:c2:00:24:14:4a:a5:80:08:00 SRC=client_IP DST=server_IP LEN=52 TOS=0x00 PREC=0x00 TTL=55 ID=14809 DF PROTO=TCP SPT=28080 DPT=1080 WINDOW=58 RES=0x00 ACK FIN URGP=0 Apr 7 03:40:21 DS823087 kernel: input socks: IN=eth0 OUT= MAC=00:16:3e:1b:f6:c2:00:24:14:4a:a5:80:08:00 SRC=client_IP DST=server_IP LEN=40 TOS=0x08 PREC=0x00 TTL=55 ID=22507 DF PROTO=TCP SPT=28080 DPT=1080 WINDOW=0 RES=0x00 RST URGP=0
Добрый день,настроил прокси по вашей статье. Но что то не получается организовать хождение через него.
ОтветитьУдалитьпри попытке приложения яндекс диска синхронизироваться в лог сыпятся сообщения типа:
tail -f /var/log/ss5/ss5.log
[12/Jul/2016:16:37:57 MSK] [14884] 192.168.XX.YY "" "CONNECT" STARTED 0 0 0 (192.168.XX.YY:64033 -> 87.250.251.53:443)
[12/Jul/2016:16:37:58 MSK] [14884] 192.168.XX.YY "" "CONNECT" TERMINATED 5489 832 1 (192.168.XX.YY:64033 -> 87.250.251.53:443)
[12/Jul/2016:16:38:00 MSK] [14889] 192.168.XX.YY "" "CONNECT" STARTED 0 0 0 (192.168.XX.YY:64035 -> 87.250.251.53:443)
[12/Jul/2016:16:38:00 MSK] [14889] 192.168.XX.YY "" "CONNECT" TERMINATED 4941 893 0 (192.168.XX.YY:64035 -> 87.250.251.53:443)
[12/Jul/2016:16:38:00 MSK] [14890] 192.168.XX.YY "" "CONNECT" STARTED 0 0 0 (192.168.XX.YY:64036 -> 87.250.251.53:443)
[12/Jul/2016:16:38:01 MSK] [14890] 192.168.XX.YY "" "CONNECT" TERMINATED 5489 832 1 (192.168.XX.YY:64036 -> 87.250.251.53:443)
прокси настраивал для начала простой без авторизаций в iptables добавил правила следующего вида:
iptables -N socks
iptables -A INPUT -p tcp --dport 1080 -j socks
iptables -A socks -s 192.168.XX.YY -j ACCEPT
iptables -A socks -j LOG --log-prefix "input socks: "
iptables -A socks -j DROP
так же есть сообщения и в журнале messages
Jul 12 18:27:16 localhost kernel: input socks: IN=enp2s0 OUT= MAC=9c:d6:43:63:83:f1:44:03:a7:37:6a:3a:08:00 SRC=192.168.XX.YY DST=192.168.pp.pp LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=13437 DF PROTO=TCP SPT=49405 DPT=1080 WINDOW=8192 RES=0x00 SYN URGP=0
Jul 12 22:26:53 localhost kernel: input socks: IN=enp2s0 OUT= MAC=9c:d6:43:63:83:f1:44:03:a7:37:6a:3a:08:00 SRC=192.168.XX.YY DST=192.168.pp.pp LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=15356 DF PROTO=TCP SPT=49519 DPT=1080 WINDOW=8192 RES=0x00 SYN URGP=0
Jul 12 22:26:56 localhost kernel: input socks: IN=enp2s0 OUT= MAC=9c:d6:43:63:83:f1:44:03:a7:37:6a:3a:08:00 SRC=192.168.XX.YY DST=192.168.pp.pp LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=15363 DF PROTO=TCP SPT=49519 DPT=1080 WINDOW=8192 RES=0x00 SYN URGP=0
Jul 12 22:27:02 localhost kernel: input socks: IN=enp2s0 OUT= MAC=9c:d6:43:63:83:f1:44:03:a7:37:6a:3a:08:00 SRC=192.168.XX.YY DST=192.168.pp.pp LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=15364 DF PROTO=TCP SPT=49519 DPT=1080 WINDOW=8192 RES=0x00 SYN URGP=0
на машине стоит еще squid правда на порте с номером 8080. (не где не могу нагуглить правильную настройку работы двух этих зверей в паре.)
Знакомства для секса и общения. сайт знакомств С легкостью найти любовь и отношения в своём городе. Приватные видео и реальные анкеты сайта знакомств. Регистрируйтесь и знакомьтесь уже в настоящий момент.
ОтветитьУдалить