Điểm:0

Máy chủ Linux bỏ qua các gói từ cổng

lá cờ ke
ENM

Tôi có một máy chủ Proxmox Linux, máy chủ này có thể gửi và nhận các gói đến các máy chủ lưu trữ trên mạng cục bộ, nhưng sẽ không xử lý các gói từ cổng. Điều này khiến lưu lượng truy cập internet không thành công, vì vậy tôi không thể chạy apt để cập nhật các gói. Tất cả các giao thức dường như bị ảnh hưởng.

VM đang chạy trên máy chủ có thể truy cập cổng tốt.

Tệp/etc/mạng/giao diện của tôi chứa:

tự động lo
vòng lặp iface lo inet

hướng dẫn sử dụng iface enp10s0 inet

tự động vmbr0
iface vmbr0 inet tĩnh
    địa chỉ 10.0.1.200/24
    cổng 10.0.1.1
    bridge_ports enp10s0
    bridge_stp tắt
    cầu_fd 0

tự động wlp7s0
iface wlp7s0 inet tĩnh
    hostapd /etc/hostapd/hostapd.conf
    địa chỉ 10.0.2.1
    mặt nạ mạng 255.255.255.0

tự động vmbr1
iface vmbr1 inet tĩnh
    địa chỉ 10.1.2.1
    mặt nạ mạng 255.255.255.0
    bridge_ports không có
    tắt cầu nối
    cầu-fd 0

    hậu kỳ echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s '10.1.2.0/24' -o wlp7s0 -j ​​MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.1.2.0/24' -o wlp7s0 -j ​​MASQUERADE

wlp7s0 và vmbr1 là NAT'd để cho phép VM truy cập các thiết bị IOT không dây không có quyền truy cập vào mạng/internet chung.

Bảng lộ trình của tôi:

tuyến đường $ ip
mặc định qua 10.0.1.200 dev vmbr0 số liệu 100 
10.0.1.0/24 dev vmbr0 liên kết phạm vi kernel proto src 10.0.1.200 
10.0.2.0/24 dev wlp7s0 liên kết phạm vi kernel proto src 10.0.2.1 
10.1.2.0/24 dev vmbr1 liên kết phạm vi kernel proto src 10.1.2.1

Sau khi đọc, tôi đã thử thay đổi rp_filter, nhưng việc thay đổi giá trị từ 2 thành 0 không giúp được gì. Các cài đặt mặc định (đã xóa giao diện VM):

$ sysctl -a | grep \.rp_filter
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.enp10s0.rp_filter = 0
net.ipv4.conf.lo.rp_filter = 0
net.ipv4.conf.vmbr0.rp_filter = 0
net.ipv4.conf.vmbr1.rp_filter = 0
net.ipv4.conf.wlp7s0.rp_filter = 0

ip_forward được đặt:

$ mèo /proc/sys/net/ipv4/ip_forward
1

Tôi đã xác minh qua tcpdump rằng các gói đang được nhận từ cổng khi tôi thử ping từ máy chủ đến cổng hoặc từ máy chủ đến cổng. Ví dụ này sử dụng lệnh ping:

# tcpdump -n -i máy chủ vmbr0 10.0.1.1 và icmp
tcpdump: đầu ra dài dòng bị chặn, sử dụng -v hoặc -vv để giải mã giao thức đầy đủ
nghe trên vmbr0, loại liên kết EN10MB (Ethernet), kích thước chụp 262144 byte
22:42:37.136341 IP 10.0.1.200 > 10.0.1.1: ICMP echo request, id 22073, seq 1, độ dài 64
22:42:37.136478 IP 10.0.1.1 > 10.0.1.200: ICMP echo reply, id 22073, seq 1, độ dài 64
22:42:38.142240 IP 10.0.1.200 > 10.0.1.1: ICMP echo request, id 22073, seq 2, độ dài 64
22:42:38.142429 IP 10.0.1.1 > 10.0.1.200: ICMP echo reply, id 22073, seq 2, độ dài 64

Đầu ra của ping -v chỉ đơn giản là trống rỗng:

$ ping -v 10.0.1.1
PING 10.0.1.1 (10.0.1.1) 56(84) byte dữ liệu.
^C
--- Thống kê ping 10.0.1.1 ---
Truyền 22 gói, nhận 0 gói, mất gói 100%, thời gian 511ms

Mục duy nhất trong bảng ip là NAT:

# iptables-lưu -c
# Được tạo bởi iptables-save v1.8.2 vào Thứ bảy ngày 29 tháng 1 22:45:46 năm 2022
* nguyên
:CHẤP NHẬN TRƯỚC [1828405583:1847667077335]
:CHẤP NHẬN ĐẦU RA [10762322:981310704]
LÀM
# Hoàn thành vào Thứ 7 ngày 29 tháng 1 22:45:46 2022
# Được tạo bởi iptables-save v1.8.2 vào Thứ bảy ngày 29 tháng 1 22:45:46 năm 2022
*lọc
:CHẤP NHẬN ĐẦU VÀO [10597558:1212589593]
: CHẤP NHẬN VỀ PHÍA TRƯỚC [1782904005:1841102268241]
:CHẤP NHẬN ĐẦU RA [10762351:981313827]
LÀM
# Hoàn thành vào Thứ 7 ngày 29 tháng 1 22:45:46 2022
# Được tạo bởi iptables-save v1.8.2 vào Thứ bảy ngày 29 tháng 1 22:45:46 năm 2022
* tự nhiên
: CHẤP NHẬN TRƯỚC [29808561:4940456833]
:CHẤP NHẬN ĐẦU VÀO [2456738:231340403]
:CHẤP NHẬN ĐẦU RA [1168080:75403202]
: SAU CHẤP NHẬN [2829337:181352732]
[190:11400] -A POSTROUTING -s 10.1.2.0/24 -o wlp7s0 -j ​​MASQUERADE
LÀM
# Hoàn thành vào Thứ 7 ngày 29 tháng 1 22:45:46 2022
Nikita Kipriyanov avatar
lá cờ za
Lạ lùng. Có lẽ nó bị rơi hoặc chuyển hướng ở mức thấp hơn 3, bởi cây cầu? Nối `ip neigh`, `ip link`, `bridge fdb show`. Bạn có chắc chắn không có hệ thống nào khác (ví dụ: máy ảo) có địa chỉ 10.0.1.200 không? Hãy thử chạy `tcpdump -e` để xem địa chỉ MAC và so sánh địa chỉ MAC với thông tin thu được bằng các lệnh khác.
lá cờ ke
ENM
Cảm ơn bạn đã bình luận @NikitaKipriyanov, nó dẫn tôi đến nguyên nhân của vấn đề! Tôi đã đăng chi tiết trong câu trả lời bên dưới để trợ giúp nếu những người khác từng phản đối điều gì đó như thế này.
Điểm:0
lá cờ ke
ENM

Cảm ơn Nikita Kipriyanov đã chỉ cho tôi đi đúng hướng, tôi đã giải quyết được vấn đề.

Khi chạy

tcpdump -en máy chủ 10.0.1.1

Tôi nhận thấy rằng các phản hồi ping đến trên một giao diện không tồn tại trên hệ thống:

# tcpdump -en máy chủ 10.0.1.1
tcpdump: đầu ra dài dòng bị chặn, sử dụng -v hoặc -vv để giải mã giao thức đầy đủ
nghe trên enp10s0, loại liên kết EN10MB (Ethernet), kích thước ghi 262144 byte
10:01:49.233889 24:4b:fe:4a:11:96 > 02:29:9a:f3:0a:00, ethertype IPv4 (0x0800), độ dài 98: 10.0.1.200 > 10.0.1.1: Yêu cầu tiếng vang ICMP, id 5544, phần tiếp theo 1, độ dài 64
10:01:49.234053 02:29:9a:f3:0a:00 > 00:26:18:e2:68:f9, ethertype IPv4 (0x0800), độ dài 98: 10.0.1.1 > 10.0.1.200: trả lời tiếng vang ICMP, id 5544, phần tiếp theo 1, độ dài 64

Điều này có nghĩa là hệ thống đã nhìn thấy các gói đến có đúng địa chỉ IP trong tcpdump, nhưng bỏ qua chúng một cách chính xác để xử lý dựa trên địa chỉ MAC.

Tôi đã kiểm tra cấu hình trên bộ định tuyến cổng và nhận thấy rằng nó có một mục nhập ARP cố định với địa chỉ không hợp lệ đó (có thể là một cấu hình cũ). Việc thay đổi cài đặt cổng thành địa chỉ MAC của enp10s0 đã khắc phục sự cố.

Nikita Kipriyanov avatar
lá cờ za
Xin vui lòng, chấp nhận câu trả lời của riêng bạn nếu nó giải quyết được vấn đề. Điều này không chỉ giúp người đọc tiếp tục xác định linh hồn, mà còn ngăn câu hỏi trôi nổi xung quanh như chưa được trả lời.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.