cảm ơn trước vì đã xem xét điều này... Tôi tự tin rằng giải pháp rất đơn giản - chỉ là tôi không biết nó là gì.
Đang chạy nc -l -u 9090
VÀ nc-uv 82.165.109.4 9090
trên cùng một máy chủ, hãy thiết lập "kết nối" kiểu netcat và các thông báo sẽ được nhận như mong đợi.
Có một ứng dụng docker đang chạy cũng nhận được gói nên có vẻ như môi trường bên trong đã được thiết lập ổn.
echo -p "xin chào" >/dev/udp/82.165.109.4/9090
được nhận bởi cả hai tcpdump
và ứng dụng.
Tôi đang theo dõi việc nhận các gói với:
tcpdump -i bất kỳ cổng udp -AXn 9090
- Nếu tôi gửi một gói UDP từ bên ngoài hộp, nó sẽ không đến được
tcpdump
- Tôi không thể ping máy chủ bên ngoài, nhưng có thể bên trong.
- Cổng dường như đang mở và đang lắng nghe.
- các cổng ssh, http và https đều hoạt động như mong đợi.
netstat -ltu
Kết nối Internet đang hoạt động (chỉ máy chủ)
Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ nước ngoài Trạng thái
tcp 0 0 0.0.0.0:5984 0.0.0.0:* NGHE
tcp 0 0 0.0.0.0:9070 0.0.0.0:* NGHE
tcp 0 0 0.0.0.0:http 0.0.0.0:* NGHE
tcp 0 0 localhost:tên miền 0.0.0.0:* NGHE
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* NGHE
tcp 0 0 0.0.0.0:https 0.0.0.0:* NGHE
tcp6 0 0 [::]:5984 [::]:* NGHE
tcp6 0 0 [::]:9070 [::]:* NGHE
tcp6 0 0 [::]:http [::]:* NGHE
tcp6 0 0 [::]:ssh [::]:* NGHE
tcp6 0 0 [::]:https [::]:* NGHE
udp 0 0 máy chủ cục bộ: tên miền 0.0.0.0:*
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 0.0.0.0:9090 0.0.0.0:*
udp6 0 0 [::]:9090 [::]:*
Tất cả mọi thứ tôi đã đọc điểm đến iptables
và tường lửa, vì vậy tôi đã tắt uww
iptables -L
ĐẦU VÀO chuỗi (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
Chuỗi FORWARD (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
DOCKER-USER all -- mọi nơi mọi nơi
DOCKER-ISOLATION-STAGE-1 tất cả -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi ctstate LIÊN QUAN, THÀNH LẬP
DOCKER tất cả -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi ctstate LIÊN QUAN, THÀNH LẬP
DOCKER tất cả -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi
ĐẦU RA chuỗi (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
Chuỗi DOCKER (2 tài liệu tham khảo)
đích prot opt nguồn đích
CHẤP NHẬN udp -- bất kỳ đâu 172.18.0.3 udp dpt:9090
CHẤP NHẬN tcp -- bất cứ đâu 172.18.0.6 tcp dpt:9080
CHẤP NHẬN tcp -- bất cứ đâu 172.18.0.2 tcp dpt:https
CHẤP NHẬN tcp -- bất kỳ đâu 172.18.0.5 tcp dpt:5984
CHẤP NHẬN tcp -- bất cứ đâu 172.18.0.2 tcp dpt:http
Chuỗi DOCKER-ISOLATION-STAGE-1 (1 tài liệu tham khảo)
đích prot opt nguồn đích
DOCKER-ISOLATION-STAGE-2 tất cả -- mọi nơi mọi nơi
DOCKER-ISOLATION-STAGE-2 tất cả -- mọi nơi mọi nơi
TRẢ LẠI tất cả -- mọi nơi mọi nơi
Chuỗi DOCKER-ISOLATION-STAGE-2 (2 tài liệu tham khảo)
đích prot opt nguồn đích
DROP all -- mọi nơi mọi nơi
DROP all -- mọi nơi mọi nơi
TRẢ LẠI tất cả -- mọi nơi mọi nơi
Chuỗi DOCKER-USER (1 tài liệu tham khảo)
đích prot opt nguồn đích
TRẢ LẠI tất cả -- mọi nơi mọi nơi
Cài đặt NAT như sau:
iptables -t nat -L -v -n
PREROUTING chuỗi (chính sách CHẤP NHẬN 235 gói, 28704 byte)
pkts byte đích prot chọn không tham gia đích nguồn
163 9840 DOCKER tất cả -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE khớp kiểu dst LOCAL
Chuỗi INPUT (chính sách CHẤP NHẬN 205 gói, 26904 byte)
pkts byte đích prot chọn không tham gia đích nguồn
ĐẦU RA chuỗi (chính sách CHẤP NHẬN 72 gói, 5351 byte)
pkts byte đích prot chọn không tham gia đích nguồn
2 121 DOCKER tất cả -- * * 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE khớp kiểu dst LOCAL
Chuỗi POSTROUTING (chính sách CHẤP NHẬN 108 gói, 7416 byte)
pkts byte đích prot chọn không tham gia đích nguồn
4 240 MẶT MẠO tất cả -- * !br-a371a521a463 172.18.0.0/16 0.0.0.0/0
0 0 GIẢ MẠO tất cả -- * !docker0 172.17.0.0/16 0.0.0.0/0
0 0 MASQUERADE udp -- * * 172.18.0.3 172.18.0.3 udp dpt:9090
0 0 MASQUERADE tcp -- * * 172.18.0.6 172.18.0.6 tcp dpt:9080
0 0 MASQUERADE tcp -- * * 172.18.0.2 172.18.0.2 tcp dpt:443
0 0 MASQUERADE tcp -- * * 172.18.0.5 172.18.0.5 tcp dpt:5984
0 0 MASQUERADE tcp -- * * 172.18.0.2 172.18.0.2 tcp dpt:80
Chuỗi DOCKER (2 tài liệu tham khảo)
pkts byte đích prot chọn không tham gia đích nguồn
2 120 TRẢ LẠI tất cả -- br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0
0 0 TRẢ LẠI tất cả -- docker0 * 0.0.0.0/0 0.0.0.0/0
1 37 DNAT udp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 udp dpt:9090 tới:172.18.0.3:9090
0 0 DNAT tcp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9070 đến:172.18.0.6:9080
4 220 DNAT tcp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 đến:172.18.0.2:443
0 0 DNAT tcp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5984 đến:172.18.0.5:5984
5 248 DNAT tcp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 đến:172.18.0.2:80
Nếu UFW được bật, trạng thái là:
trạng thái ufw dài dòng
Trạng thái: Đang hoạt động
Ghi nhật ký: bật (cao)
Mặc định: từ chối (đến), cho phép (đi), từ chối (được định tuyến)
Hồ sơ mới: bỏ qua
Đến hành động từ
-- ------ ----
22/tcp CHO PHÉP Ở mọi nơi
80/tcp CHO PHÉP Ở mọi nơi
443/tcp CHO PHÉP Ở mọi nơi
993 CHO PHÉP Ở mọi nơi
995 CHO PHÉP Ở mọi nơi
9090/udp CHO PHÉP Ở mọi nơi
520/udp CHO PHÉP Ở Mọi Nơi
22/tcp (v6) CHO PHÉP Ở Mọi Nơi (v6)
80/tcp (v6) CHO PHÉP Ở mọi nơi (v6)
443/tcp (v6) CHO PHÉP Ở Mọi Nơi (v6)
993 (v6) CHO PHÉP Ở Mọi Nơi (v6)
995 (v6) CHO PHÉP Ở Mọi Nơi (v6)
9090/udp (v6) CHO PHÉP Ở Mọi Nơi (v6)
520/udp (v6) CHO PHÉP Ở Mọi Nơi (v6)
9090/udp CHO PHÉP FWD Ở Mọi Nơi
9090/udp (v6) CHO PHÉP FWD Anywhere (v6)
Tôi đã cố gắng rất nhiều - nhưng một số điều quan trọng hơn là;
- xóa iptables không có tác dụng
- giám sát việc gửi UDP qua tcpdump từ hộp bên ngoài (đã được ghi lại)
- giám sát tất cả các cổng và ghi nhật ký chi tiết (không thay đổi)
- bật ip_forwarding
sysctl -p
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.chuyển tiếp = 1
Các lưu ý khác:
- Sử dụng máy chủ 'đám mây', do đó, máy ảo.
- Tôi không thể tìm thấy bất kỳ nhật ký ufw nào trong
/etc/ufw/