apt-cacher-ng가 시작된 후 응답하지 않습니다

apt-cacher-ng가 시작된 후 응답하지 않습니다

질문

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입니다

세부 사항

tcpdumpapt-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

straceCentows에서 시스템 호출 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 kasapt-cacher-ng또한 (클라이언트에서 실행할 때 ) 어떤 방울도 표시되지 않습니다 apt-get update.

TCP/IP 스택을 올바르게 추적하는 방법은 무엇입니까? Google은 이 두 가지 방법으로 충분하다고 말합니다. ( ifconfig저장소 netstat에서 사용할 수 없으며 플래그를 ethtool지원하지 않습니다 )-S


이제 이 문제를 해결하기 위해 다음에는 어디를 파헤쳐야 할지 모르겠습니다.

fd6( /dev/null모니터링)이 실제 문제인지, 프로세스에서 이 fd를 복제해야 하는 이유가 무엇인지 이해가 되지 않습니다 .

근본 원인이나 해결 방법에 대한 힌트를 찾기 위해 확인할 수 있는 다른 제안 사항이 있는 사람이 있습니까?

관련 정보