Ubuntu 16.04 прозрачный Squid HTTPS
Ubuntu 16.04 прозрачный Squid HTTPS
Решил посмотреть на работу прозрачного Squid transparent.
В версиях выше 3 указывают intercept
Много натыкался на сложности в настройках именно в режиме HTTPS
Как оказалось не зря.
Так сложилось что при установке через apt мы получаем Squid без поддержки SSl
Приступим
Есть два пути решения.
1) С подменой сертификатов.
В этом случае генерируется сертификат. Затем уже на клиентских машинах он добавляется в доверенные
Метод подразумевает что необходимо на всех компьютерах пользователей провести эту манипуляцию
Тут боле менее все просто. Можно подключить репозитарий и установить уже подготовленный Squid
https://launchpad.net/~notartom/+archive/ubuntu/squid-ssl
sudo add-apt-repository ppa:notartom /squid-ssl sudo apt-get update |
sudo apt-get install squid squid-langpack |
2) Без подмены сертификатов
Вот здесь уже сложнее. Необходимо пересобирать пакет Squid.
Чтобы постоянно не вводить sudo переходим в root
sudo -s |
Разблокируем ветки где указан src
nano /etc/apt/sources .list |
Должно выйти так
Обновимся и поставим необходимые библиотеки для сборки
apt-get update apt-get dist-upgrade -y apt-get install openssl apt-get install devscripts build-essential apt-get install dpkg-dev libssl-dev |
Создадим папку где будет производится сборка
mkdir makes cd makes |
Качаем зависимости (для выполнения этой операции был поставлен dpkg-dev)
apt-get build-dep squid3 |
Качаем исходник
apt-get source squid3 |
В случае ошибки доступа apt "Невозможно сбросить права для скачивания" меняем права и повторяем
chmod 777 squid3_3.5.12-1ubuntu7.2.dsc apt-get source squid3 |
В моем случае это был файл squid3_3.5.12-1ubuntu7.2.dsc может быть и squid3_3.5.12-1ubuntu7.3.dsc и другие разновидности
Если этого не сделать или будут ошибки, то не появится папка debian
Переходим в полученную папку
cd squid3-3.5.12 |
Добавляем поддержку ssl
Редактируем файл правил
nano debian /rules |
Добавляем строчки
-- enable -ssl \ -- enable -ssl-crtd \ --with-openssl \ |
Должно выйти
ВАЖНО: чтобы все параметры заканчивались \ , а именно дописать после proxy
Собираем DEB пакеты ( Процесс долгий )
dpkg-buildpackage -d |
Возможные ошибки:
configure: error: library 'crypto' is required for OpenSSL |
Необходимо установить libssl-dev и перезапустить процесс сборки
apt-get install dpkg-dev rm config.log dpkg-buildpackage -d |
Идем на папку выше и там должны быть получившиеся пакеты
ls -1 |
squid3-3.5.12 squid3_3.5.12-1ubuntu7.2_all.deb squid3_3.5.12-1ubuntu7.2_amd64.build squid3_3.5.12-1ubuntu7.2_amd64.changes squid3_3.5.12-1ubuntu7.2.debian. tar .xz squid3_3.5.12-1ubuntu7.2.dsc squid3_3.5.12.orig. tar .gz squid_3.5.12-1ubuntu7.2_amd64.deb squid-cgi_3.5.12-1ubuntu7.2_amd64.deb squidclient_3.5.12-1ubuntu7.2_amd64.deb squid-common_3.5.12-1ubuntu7.2_all.deb squid-dbg_3.5.12-1ubuntu7.2_amd64.deb squid-purge_3.5.12-1ubuntu7.2_amd64.deb |
Ставим
dpkg -i *.deb |
Правим зависимости и переставляем (На этом моменте он подтянул apache для каких то своих целей)
apt-get install -f dpkg -i *.deb |
Если все успешно то смотрим версию squid и что у нас вышло
squid - v |
(код в строку. Отформатировал для наглядности)
Squid Cache: Version 3.5.12 Service Name: squid Ubuntu linux configure options: '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' 'BUILDCXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--libexecdir=/usr/lib/squid' '--mandir=/usr/share/man' '--enable-inline' '--disable-arch-native' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-ssl' '--enable-ssl-crtd' '--with-openssl' '--enable-build-info=Ubuntu linux' '--enable-linux-netfilter' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security' |
Конфигурация без блокировок и прочего. Именно посмотреть работу прозрачного режима. Обычная базовая с добавлением SSL
Переходим в папку squid и генерируем сертификат
cd /etc/squid/ openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout squidCA.pem -out squidCA.pem |
Упростим конфигурацию
cp squid.conf squid.conf.bak cat squid.conf.bak | grep - v "^#" | grep - v "^$" > squid.conf |
Добавим сеть src 192.168.20.0/24
Добавим порты под HTTP 3128 и HTTPS 3129
Добавим генерацию сертификатов sslcrtd_program
nano squid.conf |
acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl local src 192.168.20.0 /24 acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost http_access allow local http_access deny all http_port 192.168.20.1:3128 intercept https_port 192.168.20.1:3129 intercept ssl-bump cert= /etc/squid/squidCA .pem ssl_bump peek all ssl_bump splice all sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB coredump_dir /var/spool/squid refresh_pattern ^ ftp : 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i ( /cgi-bin/ |\?) 0 0% 0 refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 refresh_pattern . 0 20% 4320 |
Для режима варианта с подменой сертификата следующие строчки писать не надо
ssl_bump peek all ssl_bump splice all sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB |
Применяем конфигурацию
squid -k parse squid -k reconfigure |
Для работы необходимо настроить iptables
nano tables |
#!/bin/bash #========================================================== # Настройка IPTABLES #========================================================== #========================================================== # Сетевый интерфейсы #========================================================== LAN= "enp0s8" WAN= "enp0s17" LO= "lo" #========================================================== # Локальная сеть #========================================================== LAN_RANGE=192.168.20.0 /255 .255.255.0 #========================================================== # Путь к таблицам #========================================================== IPTABLES= "/sbin/iptables" #========================================================== # Список портов #========================================================== SSH= "22" DNS= "53" SQUIDH= "3128" SQUIDS= "3129" HTTP= "80" HTTPS= "443" # Сбрасываем все правила #========================================================================================= $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X # Базовая расстановка правил #========================================================== $IPTABLES --policy INPUT ACCEPT #DROP $IPTABLES --policy OUTPUT ACCEPT #DROP $IPTABLES --policy FORWARD DROP #ACCEPT # Включаем форвардинг ip в ядре. #========================================================================================= /bin/echo 1 > /proc/sys/net/ipv4/ip_forward # Включаем маскарадинг для маскарад для отработки NAT #========================================================================================= $IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE # Разрешаем пакеты по уже установленным соединениям #========================================================================================= $IPTABLES -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Разрешаем доступ к SSH и DNS серверу если INPUT DROP (Не пригодилось) #========================================================================================= #$IPTABLES -A INPUT --protocol tcp -i $LAN --dport $SSH -j ACCEPT #$IPTABLES -A INPUT --protocol tcp -i $LAN --dport $DNS -j ACCEPT #$IPTABLES -A INPUT --protocol udp -i $LAN --dport $DNS -j ACCEPT # Разрешаем доступ к HTTP и HTTPS серверу если INPUT DROP (Не пригодилось) #========================================================================================= #$IPTABLES -A INPUT --protocol tcp -i $LAN --dport $HTTP -j ACCEPT #$IPTABLES -A INPUT --protocol tcp -i $LAN --dport $SQUID -j ACCEPT # Заворачиваем SQUID #========================================================================================= iptables -t nat -A PREROUTING -i $LAN -p tcp --dport $HTTP -j REDIRECT --to-port $SQUIDH iptables -t nat -A PREROUTING -i $LAN -p tcp --dport $HTTPS -j REDIRECT --to-port $SQUIDS # Смотрим что мы натворили #========================================================================================= $IPTABLES -L -n -t nat - v |
Если
в качестве шлюза используется маршрутизатор, то на нем перенаправляем
порты 80 и 443 на сервер где стоит SQUID на порты 3128 и 3129
соответственно
В таком случае правила "Заворачиваем SQUID" для iptables ненужны.
Применим
chmod +x tables . /tables |
Так как под рукой не было DNS сервера то поставил dnsmasq. Порт в iptables 53
Ставил только DNS. DHCP не настраивал поэтому только указываем интерфейс dnsmasq
sudo apt-get install dnsmasq dnsmasq-utils nano /etc/dnsmasq .conf |
interface=enp0s8 |
Забыли добавить libssl-dev в список библиотек для сборки. Без неё никак не собиралось.
Ещё не могу понять, вроде бы всё сделал, настроил редирект портов 80=>3128, 443=>3129, настроил deny_info как редирект. Все http редиректит, а вот https некоторые просто блокирует, а некоторые пускает, в частности google.com, youtube.com открываются и игнорируют директиву deny. Собственно говоря, точно так же было и на версии скомпилированной без —enable-ssl. Конфиг взял полностью ваш, только пару директив добавил.
Здесь надо посмотреть что происходит в логе acess.log
А так достаточно странно. Если бы squid собрался без ssl. то не работали бы директивы ssl_bump и https_port. squid -k parse просто ругался бы что собран без них.
Поправил статью добавив libssl-dev. В предыдущей версии он мог встать с первым пунктом и я не заметил.
По поводу блокировок на прозрачном не проверял. Но на обычном работает
http://imbicile.pp.ru/squid-https-filtraciya/
После команды: dpkg-buildpackage -d в конце процесса вылез след текст с ошибкой. Подскажите пожалуйста как исправить это:
dpkg-shlibdeps: ошибка: информация о зависимостях не найдена для /usr/local/lib/libecap.so.3 (используется debian/squid/usr/sbin/squid)
Подсказка: проверьте, действительно ли библиотеки из этого пакета.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/squid.substvars debian/squid/usr/lib/squid/diskd debian/squid/usr/lib/squid/ntlm_smb_lm_auth debian/squid/usr/lib/squid/ext_kerberos_ldap_group_acl debian/squid/usr/lib/squid/log_file_daemon debian/squid/usr/lib/squid/basic_radius_auth debian/squid/usr/lib/squid/ext_ldap_group_acl debian/squid/usr/lib/squid/basic_ncsa_auth debian/squid/usr/lib/squid/ext_unix_group_acl debian/squid/usr/lib/squid/negotiate_kerberos_auth_test debian/squid/usr/lib/squid/basic_nis_auth debian/squid/usr/lib/squid/unlinkd debian/squid/usr/lib/squid/ext_file_userip_acl debian/squid/usr/lib/squid/basic_pam_auth debian/squid/usr/lib/squid/negotiate_kerberos_auth debian/squid/usr/lib/squid/ntlm_fake_auth debian/squid/usr/lib/squid/url_fake_rewrite debian/squid/usr/lib/squid/pinger debian/squid/usr/lib/squid/ext_session_acl debian/squid/usr/lib/squid/ssl_crtd debian/squid/usr/lib/squid/basic_sasl_auth debian/squid/usr/lib/squid/basic_ldap_auth debian/squid/usr/lib/squid/basic_fake_auth debian/squid/usr/lib/squid/digest_ldap_auth debian/squid/usr/lib/squid/negotiate_wrapper_auth debian/squid/usr/lib/squid/basic_getpwnam_auth debian/squid/usr/lib/squid/basic_smb_auth debian/squid/usr/lib/squid/digest_file_auth debian/squid/usr/sbin/squid returned exit code 2
/usr/share/cdbs/1/rules/debhelper.mk:279: ошибка выполнения рецепта для цели «bina ry-predeb-IMPL/squid»
make: *** [binary-predeb-IMPL/squid] Ошибка 2
dpkg-buildpackage: ошибка: debian/rules binary возвратил код ошибки 2
Оуууу. Тут ошибка может возникать по многим причинам. Чаще всего из-за того что на системе уже проводились всякого вида манипуляции. Тут в примере я все делал на чистой системе. Поставил, обновил и стал собирать. Сборку пакетов руками на Ubuntu вообще не считаю хорошей идеей. Если всеже не выйдет, то рекомендую просто поставить squid и у пользователей прописать его как proxy сервер. Гораздо проще и эффективнее.
Приветствую!
Поставил по инструкции, все запустилось (правда не без плясок с бубном). Есть один недостаток: в access.log не резолвятся имена сайтов, только IP адреса. Пока решение проблемы не нашел, Может подскажете?
Сейчас стоит Squid с конфигурацией
Сам вывод лога такой:
1491544603.697 0 10.10.10.101 TCP_DENIED/407 3679 CONNECT 94.100.180.228:80 — NONE/- text/html
1491544603.702 0 10.10.10.101 TCP_DENIED/407 3685 CONNECT 94.100.180.228:5190 — NONE/- text/html
1491544603.706 0 10.10.10.101 TCP_DENIED/407 3685 CONNECT 94.100.180.228:1863 — NONE/- text/html
1491544603.710 0 10.10.10.101 TCP_DENIED/403 3573 CONNECT 94.100.180.228:25 — NONE/- text/html
1491544603.714 0 10.10.10.101 TCP_DENIED/403 3575 CONNECT 94.100.180.228:110 — NONE/- text/html
1491544604.432 0 10.10.10.31 TCP_DENIED/407 3761 GET http://ipv6.msftncsi.com/ncsi.txt — NONE/- text/html
1491544604.447 11 10.10.10.31 TCP_DENIED/407 3955 GET http://ipv6.msftncsi.com/ncsi.txt — NONE/- text/html
1491544604.456 6 10.10.10.31 TCP_DENIED/407 4305 GET http://ipv6.msftncsi.com/ncsi.txt — NONE/- text/html
1491544604.734 66 10.10.10.125 TCP_MISS/200 401 GET http://ad.mail.ru/adi/243? n.ivanova DIRECT/217.69.139.42 text/html
1491544604.785 27 10.10.10.125 TCP_MISS/200 401 GET http://ad.mail.ru/adi/243? n.ivanova DIRECT/217.69.139.42 text/html
Может как вариант в новом sqid что накрутили
Есть такая директива logformat
По ссылке ее конфигурация ТУТ
Можно ее покрутить
Спасибо за ответ, но думаю дело не в формате.
кусок access.log:
============cut=======================
10.0.0.129 — — [07/Apr/2017:09:38:39 +0300] «CONNECT 213.180.193.90:443 HTTP/1.1» 200 59085 TCP_TUNNEL:ORIGINAL_DST
10.0.0.129 — — [07/Apr/2017:09:38:40 +0300] «CONNECT 52.222.171.120:443 HTTP/1.1» 200 1316 TCP_TUNNEL:ORIGINAL_DST
10.0.0.129 — — [07/Apr/2017:09:38:40 +0300] «GET http://avatars.mds.yandex.net/get-rtb/60659/1951788469924538735/orig? HTTP/1.1″ 200 16376 TCP_MISS:ORIGINAL_DST
10.0.0.129 — — [07/Apr/2017:09:38:40 +0300] «GET http://top-fwz1.mail.ru/tracker? HTTP/1.1″ 200 528 TCP_MISS:ORIGINAL_DST
10.0.0.129 — — [07/Apr/2017:09:38:40 +0300] «GET http://top-fwz1.mail.ru/tracker? HTTP/1.1″ 200 528 TCP_MISS:ORIGINAL_DST
============cut=======================
Т.е. по HTTP все нормально резолвится, а по HTTPS нет.
В squid.conf свойства лога такие:
logformat — по-умолчанию, т.е. в конфиге не прописан.
access_log stdio:/var/log/squid/access.log common
Спасибо за ответ.
Нет, опции лога по-умолчанию.
В самом логе TCP_DENIED отсутствует.
10.0.0.100 — — [07/Apr/2017:09:11:52 +0300] «GET http://www.di.fm/_papi/v1/di/track_history HTTP/1.1″ 200 11346 TCP_MISS:ORIGINAL_DST
10.0.0.110 — — [07/Apr/2017:09:11:52 +0300] «CONNECT 74.125.131.148:443 HTTP/1.1» 200 679 TCP_TUNNEL:ORIGINAL_DST
10.0.0.110 — — [07/Apr/2017:09:11:53 +0300] «CONNECT 217.69.139.231:443 HTTP/1.1» 200 45 TCP_TUNNEL:ORIGINAL_DST
10.0.0.110 — — [07/Apr/2017:09:11:53 +0300] «CONNECT 217.69.133.148:443 HTTP/1.1» 200 45 TCP_TUNNEL:ORIGINAL_DST
10.0.0.110 — — [07/Apr/2017:09:11:53 +0300] «CONNECT 151.101.65.7:443 HTTP/1.1» 200 1845 TCP_TUNNEL:ORIGINAL_DST
10.0.0.110 — — [07/Apr/2017:09:11:53 +0300] «CONNECT 151.101.65.7:443 HTTP/1.1» 200 96544 TCP_TUNNEL:ORIGINAL_DST
10.0.0.142 — — [07/Apr/2017:09:11:56 +0300] «CONNECT 94.100.180.215:443 HTTP/1.1» 200 2127 TCP_TUNNEL:ORIGINAL_DST
10.0.0.142 — — [07/Apr/2017:09:12:04 +0300] «CONNECT 193.0.170.53:443 HTTP/1.1» 200 372 TCP_TUNNEL:ORIGINAL_DST
10.0.0.22 — — [07/Apr/2017:09:12:05 +0300] «CONNECT 87.250.250.207:443 HTTP/1.1» 200 855 TCP_TUNNEL:ORIGINAL_DST
10.0.0.142 — — [07/Apr/2017:09:12:06 +0300] «CONNECT 217.20.156.159:443 HTTP/1.1» 200 523 TCP_TUNNEL:ORIGINAL_DST
10.0.0.142 — — [07/Apr/2017:09:12:06 +0300] «CONNECT 94.100.180.59:443 HTTP/1.1» 200 1132 TCP_TUNNEL:ORIGINAL_DST
10.0.0.142 — — [07/Apr/2017:09:12:06 +0300] «CONNECT 217.69.136.175:443 HTTP/1.1» 200 537 TCP_TUNNEL:ORIGINAL_DST
10.0.0.22 — — [07/Apr/2017:09:12:18 +0300] «CONNECT 87.250.250.207:443 HTTP/1.1» 200 0 TAG_NONE:ORIGINAL_DST
10.0.0.100 — — [07/Apr/2017:09:12:22 +0300] «GET http://www.di.fm/_papi/v1/di/track_history HTTP/1.1″ 200 10954 TCP_MISS:ORIGINAL_DST
10.0.0.142 — — [07/Apr/2017:09:12:25 +0300] «GET http://update.eset.com/eset_upd/v5/update.ver HTTP/1.1″ 200 10402 TCP_MISS:ORIGINAL_DST
Так то на вид лог явно другой. Ну по структуре отличается
1491554685.528 9 10.10.10.115 TCP_DENIED/407 3880 CONNECT proxy.imgsmail.ru:443 — NONE/- text/html
1491554685.551 21 10.10.10.115 TCP_DENIED/407 3880 CONNECT proxy.imgsmail.ru:443 — NONE/- text/html
1491554685.551 21 10.10.10.115 TCP_DENIED/407 3880 CONNECT proxy.imgsmail.ru:443 — NONE/- text/html
1491554685.553 40 10.10.10.115 TCP_DENIED/407 4097 CONNECT top-fwz1.mail.ru:443 — NONE/- text/html
1491554685.555 24 10.10.10.115 TCP_DENIED/407 4073 CONNECT rs.mail.ru:443 — NONE/- text/html
1491554685.555 24 10.10.10.115 TCP_DENIED/407 4105 CONNECT http://www.tns-counter.ru:443 — NONE/- text/html
1491554685.555 24 10.10.10.115 TCP_DENIED/407 4101 CONNECT proxy.imgsmail.ru:443 — NONE/- text/html
1491554685.555 35 10.10.10.115 TCP_DENIED/407 4097 CONNECT top-fwz1.mail.ru:443 — NONE/- text/html
Но у меня в работе сейчас старый и не прозрачный squid. Поэтому поглядеть пока нет возможности
Из догадок только что он не может распознать имена DNS. Как вариант добавить в конфигурацию сервера DNS принудительно
Достаточно dns_nameservers 8.8.4.4 8.8.8.8
У меня оно так
# Ковыряем ДНС
########################################
dns_nameservers 8.8.4.4 8.8.8.8
allow_underscore off
dns_retransmit_interval 1 seconds
dns_timeout 2 minutes
dns_defnames off
ignore_unknown_nameservers off
fqdncache_size 8192
dns_nameservers пробовал. Указывал и локальные, и гугловские и локалхост. Результат один к сожалению.
P.S. прошу прощения за дублирование сообщений. ;)
Да не страшно XD
Ну а по поводу вопроса тут уже тогда к сожалению помочь не могу
Конфигурации с прозрачным squdi под рукой нет и с таким пока не сталкивался
Если он так рисует только https, то возможно такая вот его особенность работы при ssl-bump
Но это не точно ;)
Похоже действительно это результат работы ssl_bump.
При замене в конфиге
ssl_bump peek all
ssl_bump splice all
НА
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump splice all
Начинает резолвить, но появляются проблемы с доступом в Google и иже с ним. :(
Нда. Пичалька. Ну видать придется оставить как есть. Возможно это и поправят. Из вариаций можно поискать кто еще как его использует. Но пока на подобное не натыкался.
Команда
#dpkg-buildpackage -d
выдает ошибку:
dpkg-buildpackage: пакет исходных текстов squid3
dpkg-buildpackage: версия исходных текстов 3.5.12-1ubuntu7.3
dpkg-buildpackage: дистрибутив исходного кода xenial-security
dpkg-buildpackage: исходные тексты изменены Marc Deslauriers
dpkg-buildpackage: архитектура узла amd64
dpkg-source —before-build squid3-3.5.12
debian/rules clean
debian/rules:50: *** обнаружен способ до первого определения цели. Останов.
dpkg-buildpackage: ошибка: debian/rules clean возвратил код ошибки 2
Что я делаю не так?
Если смотреть по логу ошибки, то где-то что-то с синтаксисом debian/rules. Может где что опечатались. Можно удалить все файлы. Скачать заново. И собрать без изменений rules. Если собралось. Удалить полученные deb пакеты. Внести изменения в rules и собрать по новой.
А дело может быть в этом:
apt-get build-dep squid3
Чтение списков пакетов… Готово
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@*****:~/makes# apt-get source squid3
Чтение списков пакетов… Готово
ВНИМАНИЕ: упаковка «squid3» поддерживается в системе контроля версий «Git»:
git://anonscm.debian.org/pkg-squid/pkg-squid3.git/
Используйте:
git clone git://anonscm.debian.org/pkg-squid/pkg-squid3.git/
для получения последних (возможно не выпущенных) обновлений пакета.
Необходимо получить 4 827 kб архивов исходного кода.
Пол:1 http://ru.archive.ubuntu.com/ubuntu xenial-updates/main squid3 3.5.12-1ubuntu7.3 (dsc) [2 528 B]
Пол:2 http://ru.archive.ubuntu.com/ubuntu xenial-updates/main squid3 3.5.12-1ubuntu7.3 (tar) [4 773 kB]
Пол:3 http://ru.archive.ubuntu.com/ubuntu xenial-updates/main squid3 3.5.12-1ubuntu7.3 (diff) [51,6 kB]
Получено 4 827 kБ за 3с (1 331 kБ/c)
gpgv: Подпись создана Сб 04 фев 2017 08:49:37 +07 ключом RSA с ID A744BE93
gpgv: Не могу проверить подпись: открытый ключ не найден
dpkg-source: предупреждение: проверка подписи для ./squid3_3.5.12-1ubuntu7.3.dsc завершилась неудачно
dpkg-source: инфо: извлечение squid3 в squid3-3.5.12
dpkg-source: инфо: распаковывается squid3_3.5.12.orig.tar.gz
dpkg-source: инфо: распаковывается squid3_3.5.12-1ubuntu7.3.debian.tar.xz
dpkg-source: инфо: накладывается 01-cf.data.debian.patch
dpkg-source: инфо: накладывается 02-makefile-defaults.patch
dpkg-source: инфо: накладывается 90-cf.data.ubuntu.patch
dpkg-source: инфо: накладывается 99-ubuntu-ssl-cert-snakeoil.patch
dpkg-source: инфо: накладывается CVE-2016-3947.patch
dpkg-source: инфо: накладывается CVE-2016-4051.patch
dpkg-source: инфо: накладывается CVE-2016-4052.patch
dpkg-source: инфо: накладывается CVE-2016-4553.patch
dpkg-source: инфо: накладывается CVE-2016-4554.patch
dpkg-source: инфо: накладывается CVE-2016-4555.patch
dpkg-source: инфо: накладывается CVE-2016-10002.patch
dpkg-source: инфо: накладывается CVE-2016-10003.patch
W: Невозможно сбросить права для скачивания, так как файл «squid3_3.5.12-1ubuntu7.3.dsc» недоступен для пользователя «_apt». — pkgAcquire::Run (13: Отказано в доступе)
root@*****:~/makes#
?
W: Невозможно сбросить права для скачивания, так как файл «squid3_3.5.12-1ubuntu7.3.dsc» недоступен для пользователя «_apt».
В статье написано что с этим делать
В случае ошибки доступа apt «Невозможно сбросить права для скачивания» меняем права и повторяем
chmod 777 squid3_3.5.12-1ubuntu7.3.dsc
apt-get source squid3
Решил проблему. Сам виноват-забыл в debian\rules после proxy поставить \