Lý do tại sao cầu nối và giao diện TAP của bạn chia sẻ cùng một địa chỉ MAC, là vì cầu không có MAC, cho đến khi nó bị ràng buộc với giao diện. Nếu bạn tạo một cây cầu với BRCTL và thực hiện "trình diễn brctl", bạn sẽ thấy cây cầu có các cổng trống. (Không có giao diện nào bị ràng buộc với nó) Trong liên kết TAP0 với br0, tự nhiên, nó sẽ hiển thị dưới dạng MAC giống nhau. Tôi đã tạo ra một cây cầu thử nghiệm, để minh họa.
# brctl addbr testbr0
[root @ stooge, v.v.] # brctl hiển thị testbr0
cầu tên id giao diện kích hoạt STP
testbr0 8000.000000000000 không
Tôi đã tạo ba bài kiểm tra TAPS. Đầu ra từ "brctl showmacs testbr0".
[root @ stooge, v.v.] # brctl showmacs testbr0
cổng không có mac addr là cục bộ? hẹn giờ lão hóa
1 86: 51: b6: 95: 0e: b6 có 0,00
2 86: 58: 63: c6: d4: e7 có 0,00
3 8a: a7: fa: 17: c5: 12 có 0,00
Như bạn có thể thấy, mỗi cổng cầu có một địa chỉ MAC duy nhất và cây cầu sẽ hiển thị MAC của nó, khi giao diện đầu tiên bị ràng buộc. Nếu bạn kết nối giao diện mạng vật lý, cầu Ethernet sẽ kế thừa địa chỉ MAC của nó và di chuyển tất cả các giao diện ảo xuống. Ví dụ ràng buộc eth0, với cầu thử nghiệm.
[root @ stooge, v.v.] # brctl showmacs testbr0
cổng không có mac addr là cục bộ? hẹn giờ lão hóa
4 AA: BB: CC: DD: EE: FF có 0,00
1 86: 51: b6: 95: 0e: b6 có 0,00
2 86: 58: 63: c6: d4: e7 có 0,00
3 8a: a7: fa: 17: c5: 12 có 0,00
Sử dụng "brctl show" một lần nữa;
[root @ stooge, v.v.] # brctl hiển thị
cầu tên id giao diện kích hoạt STP
testbr0 8000.00aabbccddee không eth0
tap00
tap01
tap02
các giao diện TAP đã chuyển xuống một, mặc dù eth0, vẫn ở PORT 4. Bạn vẫn có các địa chỉ MAC duy nhất. Nếu cầu Ethernet bị ràng buộc với giao diện tuyến nguồn, bạn không có lựa chọn nào trong việc sử dụng địa chỉ IP hoặc DHCP. Để biết giá trị của nó, nếu bạn kết nối giao diện nguồn tuyến, bạn sẽ hiển thị địa chỉ MAC "không cục bộ". Đây là địa chỉ MAC của bộ định tuyến hop tiếp theo. Tôi biết trong RedHat, có một tùy chọn trong việc chỉ định IP nguồn, sử dụng IFCONFIG. Tùy chọn đầu tiên của tôi, sẽ là tư vấn tham chiếu lệnh IP, vì tôi nghĩ bạn có thể chỉ định IP nguồn. Tôi chưa bao giờ thử nó.