Puncte:0

ebtables nu funcționează în docker

drapel us

Bună, încerc să rulez ebtables în docker, dar niciuna dintre regulile ebtables nu este afectată.

De exemplu - atentie ca contoarele sa nu fie marite deși ARP este trimis și reușește

[root@injector /]# ebtables -A OUTPUT -p ARP -j ACCEPT
[root@injector /]# ebtables -Lc --Lc --Lx
Masa pod: filtru

Lanț de punte: INPUT, intrări: 0, politică: ACCEPT

Lanț de punte: FORWARD, intrări: 0, politică: ACCEPT

Lanț de punte: OUTPUT, intrări: 1, politică: ACCEPT
-p ARP -j ACCEPT , pcnt = 0 -- bcnt = 0
[root@injector /]# ping 192.168.5.201
PING 192.168.5.201 (192.168.5.201) 56(84) octeți de date.
64 de octeți din 192.168.5.201: icmp_seq=1 ttl=64 time=0,141 ms
64 de octeți din 192.168.5.201: icmp_seq=2 ttl=64 time=0.071 ms
64 de octeți de la 192.168.5.201: icmp_seq=3 ttl=64 time=0,137 ms
^C
--- 192.168.5.201 statistici ping ---
3 pachete transmise, 3 primite, 0% pierdere de pachete, timp 2065 ms
rtt min/avg/max/mdev = 0,071/0,116/0,141/0,033 ms
[root@injector /]# ebtables -Lc --Lc --Lx
Masa pod: filtru

Lanț de punte: INPUT, intrări: 0, politică: ACCEPT

Lanț de punte: FORWARD, intrări: 0, politică: ACCEPT

Lanț de punte: OUTPUT, intrări: 1, politică: ACCEPT
-p ARP -j ACCEPT , pcnt = 0 -- bcnt = 0

Docker-ul este rulat în compoziție cu următoarele permisiuni

privilegiat: adevărat
cap_add: 
  - NET_ADMIN
  - TOATE
volume:
  - /dev:/dev

Același lucru pe spațiul de nume rădăcină gazdă funcționează bine

â ~ sudo ebtables -A OUTPUT -p ARP -j ACCEPT
â ~ sudo ebtables -Lc --Lc --Lx
Masa pod: filtru

Lanț de punte: INPUT, intrări: 0, politică: ACCEPT

Lanț de punte: FORWARD, intrări: 0, politică: ACCEPT

Lanț de punte: OUTPUT, intrări: 1, politică: ACCEPT
-p ARP -j ACCEPT , pcnt = 0 -- bcnt = 0
â ~ ping 192.168.5.201
PING 192.168.5.201 (192.168.5.201) 56(84) octeți de date.
64 de octeți de la 192.168.5.201: icmp_seq=1 ttl=64 time=0,087 ms
64 de octeți de la 192.168.5.201: icmp_seq=2 ttl=64 time=0.040 ms
64 de octeți de la 192.168.5.201: icmp_seq=3 ttl=64 time=0.030 ms
^C
--- 192.168.5.201 statistici ping ---
3 pachete transmise, 3 primite, 0% pierdere de pachete, timp 2058 ms
rtt min/avg/max/mdev = 0,030/0,052/0,087/0,025 ms
â ~ sudo ebtables -Lc --Lc --Lx
Masa pod: filtru

Lanț de punte: INPUT, intrări: 0, politică: ACCEPT

Lanț de punte: FORWARD, intrări: 0, politică: ACCEPT

Lanț de punte: OUTPUT, intrări: 1, politică: ACCEPT
-p ARP -j ACCEPT , pcnt = 4 -- bcnt = 112
â ~

versiunea docker bazată pe almalinux:8.5

A.B avatar
drapel cl
A.B
ebtables necesită o punte. Vă rugăm să afișați numele interfeței bridge în container (nu în gazdă).
Boris avatar
drapel us
@A.B Puntea este docker bridge care conectează mașina gazdă și docker și creat de docker compose (driver de punte, subrețeaua 192.168.5.0/24). Numele interfeței bridge din container este eth0, dar cred că nu este ceea ce cauți. Containerul în sine nu este conștient că este conectat la pod, cred.
Boris avatar
drapel us
@A.B Aceasta este configurația care este descrisă aici https://serverfault.com/questions/1101109
Boris avatar
drapel us
Văd. Daca pui raspunsuri. O voi marca ca răspuns. Cred că să depanez problema descrisă în link (serverfault.com/questions/1101109). Voi folosi ebtables pe gazdă doar încercând să monitorizez traficul de containere care sunt vizibile pe gazdă și conectate la bridge, în loc să rulez ebtables în interiorul containerului. Mulțumiri!!!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.