14.04에서 16.04로 우분투를 업그레이드 한 후 TC (prio, HTB, CBQ와 같은 CLASSFUL QDISCS)로 트래픽 형성이 작동하지 않음


2

문제가 있습니다. 14.04에서 트래픽 형성을 위해 HTB와 함께 tc를 사용했습니다.

tc qdisc add dev docker0 root handle 1: htb default 1024

이것은 docker 1.11이있는 우분투 14.04에서 잘 작동했습니다. 그러나 우분투를 14.04에서 16.04로 업그레이드 한 후 (업그레이드 도커 아님). 동일한 명령을 실행할 때 :

tc qdisc add dev docker0 root handle 1: htb default 1024

기본 게이트웨이조차도 실행중인 모든 컨테이너가 네트워크에 도달 할 수 없습니다.

/ # ip r l
default via 172.20.0.1 dev eth0 
172.20.0.0/16 dev eth0  src 172.20.0.2 
/ # ping 172.20.0.1
PING 172.20.0.1 (172.20.0.1): 56 data bytes
^C
--- 172.20.0.1 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss

그리고 나는 호스트에서 패킷을 캡처합니다.

tcpdump -vvv -nn -i docker0

tcpdump: listening on docker0, link-type EN10MB (Ethernet), capture size 262144 bytes
15:44:59.611212 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 172.20.0.1 tell 172.20.0.2, length 28
15:45:00.629100 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 172.20.0.1 tell 172.20.0.2, length 28
15:45:01.653096 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 172.20.0.1 tell 172.20.0.2, length 28

docker0의 tc 상태를 확인하십시오.

    tc -s -d qdisc show dev docker0

qdisc htb 1: root refcnt 2 r2q 10 default 1024 direct_packets_stat 0 ver 3.17 direct_qlen 0
 Sent 0 bytes 0 pkt (dropped 48, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 

모든 패키지가 손실되었습니다. 누구든지 나에게 제안을 해 줄 수 있습니까?


루트 qdisc를 만들기 전에 컨테이너가 인터넷에 접근 할 수 있습니까? 또한 ip link명령 전후 의 결과를 추가 할 수 있습니까? 그리고 ip netns결과 를 추가 할 수 있습니까?
Sanael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.