질문
apt-get
명령(Debian)은 apt-cacher-ng
프록시(Centos에 설치된)를 통해 저장소에 액세스할 수 없습니다.
환경
# /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
$ yum -q info apt-cacher-ng.x86_64
Installed Packages
Name : apt-cacher-ng
Arch : x86_64
Version : 3.1
Release : 4.el7
...
From repo : epel
...
데비안은 7.11입니다
세부 사항
tcpdump
apt-cacher-ng
응답 없이 Centos에서 (싱글)에 대한 apt-get
요청을 표시합니다.
# tcpdump -i eno1 -nn port 3142
...
15:05:17.528378 IP 10.XX.XX.XX.38562 > 10.YY.YY.YY.3142: Flags [S], seq 2752129391, win 29200, options [mss 1460,sackOK,TS val 85570664 ecr 0,nop,wscale 4], length 0
strace
Centows에서 시스템 호출 apt-cacher-ng
중단 표시:select()
...
open("/dev/null", O_RDWR) = 6
fstat(6, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
dup2(6, 0) = 0
dup2(6, 1) = 1
dup2(6, 2) = 2
close(6) = 0
select(6, [5], [], NULL, NULL
붙여넣기 전체 추적:https://paste.ee/p/lLtS8#s=0
strace가 포트 3142에서 수신 대기하는 수신 패킷에 응답하지 않습니다.
편집하다
로그 파일에는 단일 문자열이 있습니다.
Tue Oct 2 14:18:15 2018|Not creating Unix Domain Socket, fifo_path not specified
하지만 언제 나타날지 모르겠습니다(한 번 이상 출시된 경우가 많습니다).
편집 2
클라이언트 구성 /etc/apt/apt.conf.d/00aptproxy
파일:
Acquire::http::Proxy "http://10.XX.XX.XX:3142";
SELinux가 허용 모드에 있습니다.
방화벽에는 다음과 같은 규칙이 있습니다.
-A INPUT -p udp -m udp --dport 3142 -m conntrack --ctstate NEW -j ACCEPT
편집 3
현재 acng 구성:
# grep -Ev "^$|^#" /etc/apt-cacher-ng/acng.conf
CacheDir: /var/cache/apt-cacher-ng
LogDir: /var/log/apt-cacher-ng
SupportDir: @LIBDIR@
Port:3142
BindAddress:0.0.0.0
ReportPage: acng-report.html
VerboseLog: 1
ForeGround: 1
ExThreshold: 4
Debug: 7
LocalDirs: acng-doc @DOCDIR@
UseWrap: 0
Sic(!) 내부 WebUI를 사용할 수 있지만 curl 127.0.0.1:3142
클라이언트( curl 10.XX.XX.XX:3142
) 에서는 사용할 수 없습니다.
편집 4
# cat /sys/class/net/eno1/statistics/rx_dropped
0
dropwatch -l kas
apt-cacher-ng
또한 (클라이언트에서 실행할 때 ) 어떤 방울도 표시되지 않습니다 apt-get update
.
TCP/IP 스택을 올바르게 추적하는 방법은 무엇입니까? Google은 이 두 가지 방법으로 충분하다고 말합니다. ( ifconfig
저장소 netstat
에서 사용할 수 없으며 플래그를 ethtool
지원하지 않습니다 )-S
이제 이 문제를 해결하기 위해 다음에는 어디를 파헤쳐야 할지 모르겠습니다.
fd6
( /dev/null
모니터링)이 실제 문제인지, 프로세스에서 이 fd를 복제해야 하는 이유가 무엇인지 이해가 되지 않습니다 .
근본 원인이나 해결 방법에 대한 힌트를 찾기 위해 확인할 수 있는 다른 제안 사항이 있는 사람이 있습니까?