Điểm:1

Wireguard chuyển tiếp lưu lượng đến máy chủ

lá cờ cn

Tôi đang sử dụng Wireguard làm bộ chứa docker trên số pi. Tôi đang chạy một vài dịch vụ khác trên pi mà tôi muốn chỉ có thể truy cập được qua kết nối bảo vệ dây. Máy chủ wireguard đã tạo một giao diện wg0 và một mạng con 10.8.0.0/24. Từ bên trong vùng chứa, tôi có thể kết nối với Máy chủ thông qua 172.17.0.1 vì vậy tôi đã tìm kiếm và có thể tạo cấu hình sau bên trong vùng chứa:

iptables -t nat -A PREROUTING -d 10.8.0.1/32 -j DNAT --to-destination 172.17.0.1

Điều này cho phép tôi kết nối từ máy khách wireguard đến ip máy chủ wireguard 10.8.0.1 và thông qua đó kết nối với tất cả các dịch vụ đang chạy trên và các vùng chứa khác.

Điều này hoạt động tốt ngoại trừ ip nguồn hiển thị ip từ bộ chứa docker.

Tôi có 3 câu hỏi:

  1. Có cách nào để hiển thị ip nguồn như 10.8.0.2 (ip máy khách wireguard)?
  2. Điều này có đặt ra bất kỳ rủi ro bảo mật nào không?
  3. Có cách nào tốt hơn để làm điều này?

Tôi biết rằng tôi cũng có thể sử dụng chế độ máy chủ docker thay vì chế độ cầu nối nhưng điều đó đi kèm với một loạt thách thức riêng. Tôi cũng biết rằng tôi có thể truy cập 172.17.0.1 từ máy khách vpn. Chỉ điều đó không hoạt động khi được kết nối với nhiều vpn cùng một lúc.

Rất cám ơn trước.

Điểm:1
lá cờ cn
  1. Có cách nào để hiển thị ip nguồn là 10.8.0.2 (ip máy khách wireguard) không?

Bạn cũng có thể có một quy tắc iptables đang chạy trong vùng chứa giống như sau:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Đó là những gì đang thay đổi IP nguồn của các kết nối được chuyển tiếp qua bộ chứa WireGuard. Với cách tiếp cận hiện tại của bạn, để tránh sử dụng quy tắc này, bạn phải điều chỉnh định tuyến trong từng bộ chứa khác để sử dụng bộ chứa WireGuard làm cổng vào máy khách WireGuard từ xa.

  1. Điều này có đặt ra bất kỳ rủi ro bảo mật nào không?

Máy khách WireGuard từ xa có thể truy cập bất kỳ dịch vụ mạng nào mà bộ chứa WireGuard có thể truy cập.

  1. Có cách nào tốt hơn để làm điều này?

Giải pháp thay thế đơn giản nhất là khởi chạy các bộ chứa khác vào không gian tên mạng riêng của bộ chứa WireGuard, như sau:

Đầu tiên, khởi chạy bộ chứa WireGuard với một tên, chẳng hạn như my-wg-container:

sudo docker chạy \
    --cap-thêm NET_ADMIN \
    --name my-wg-container \
    --xuất bản 51820:51820/udp \
    --rm \
    --volume /srv/my-wg-container/conf:/etc/wireguard \
    procustodibus / dây bảo vệ

Sau đó, khởi chạy các bộ chứa khác vào không gian tên mạng của bộ chứa WireGuard, với --bộ chứa mạng: my-wg-container Tùy chọn:

sudo docker chạy \
    --name my-web-server \
    --bộ chứa mạng: my-wg-container \
    --rm \
    nginx

Nếu bộ chứa WireGuard đang sử dụng 10.8.0.1 đối với địa chỉ của giao diện WireGuard của nó (như trong ví dụ của bạn), bạn có thể truy cập máy chủ web đang chạy trong my-web-server thùng chứa tại http://10.8.0.1/ từ máy khách WireGuard từ xa. xem Sử dụng cho mạng container phần này Hướng dẫn bộ chứa WireGuard cho một ví dụ hoàn chỉnh.

Với cách tiếp cận này, bạn không phải làm bất cứ điều gì đặc biệt với các bộ chứa khác (ngoài việc gắn chúng vào bộ chứa WireGuard) và máy khách WireGuard từ xa chỉ có thể truy cập các dịch vụ trong các bộ chứa được đính kèm (thay vì bất kỳ dịch vụ mạng nào khác có thể truy cập vào hộp chứa WireGuard).

Đă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.