Điểm:0

Chuyển tiếp cổng tường lửa Proxmox khiến cổng không sử dụng được cho các kết nối khác

lá cờ in

Tôi có một máy chủ do hetzner lưu trữ với một địa chỉ IP công khai chạy proxmox và một số máy ảo. Địa chỉ IP này được cấu hình bên trong /etc/interfaces như sau:

tự động enp35s0
iface enp35s0 inet tĩnh
    địa chỉ {{my-public-ip}}/{{mạng con}}
    cổng {{hetzner-gateway}}
    up route add -net {{hetzner-ip}} netmask 255.255.255.192 gw {{hetzner-gateway}} dev enp35s0

Cấu hình này được thực hiện bởi hetzner.

Vì tôi không muốn nhận thêm địa chỉ ip từ hetzner nên tôi đã giả mạo ip đó cho Mạng VM nội bộ:

tự động vmbr0
iface vmbr0 inet tĩnh
    địa chỉ 172.16.0.1/24
    cổng cầu 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 '172.16.0.0/24' -o enp35s0 -j ​​MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '172.16.0.0/24' -o enp35s0 -j ​​MASQUERADE

Với điều này, các máy ảo của tôi có quyền truy cập internet và có thể kết nối với nhau.

Vì việc chuyển tiếp cổng iptables hơi phức tạp đối với tôi nên tôi đã bắt đầu sử dụng tường lửa. Trong đó, giao diện enp35s0 của tôi được gán cho vùng bên ngoài và vmbr0 được tin cậy. Tôi biết có lẽ tôi nên gán nó cho nội bộ thay thế nhưng hiện tại nó không thực sự tạo ra sự khác biệt (hoặc tôi nghĩ vậy trong trường hợp sự cố của mình).

Tôi hiện có một dịch vụ chạy bên trong máy ảo với ip 172.16.0.3 trên cổng 38080. Để tiếp cận dịch vụ này, tôi thêm quy tắc chuyển tiếp cổng trong tường lửa: port=38080:proto=tcp:toport=38080:toaddr=172.16.0.3. Với điều đó, tôi có thể tiếp cận dịch vụ đó từ bên ngoài máy chủ này. Vấn đề bây giờ là, nếu tôi sử dụng một phần mềm như uptime-kuma và chạy nó bên trong VM trên cùng một máy vật lý, tôi không thể truy cập dịch vụ đó trên cổng 38080 vì chuyển tiếp cổng chỉ được thực hiện cho các yêu cầu bên ngoài. Điều quan trọng ở đây là tên máy chủ mà uptime-kuma sử dụng là FQDN được phân giải thành địa chỉ ip công khai của máy chủ của tôi. Vì vậy, để thực hiện điều này, tôi thêm cùng một quy tắc chuyển tiếp cổng vào vùng tin cậy của tường lửa vì giao diện vmbr0 của tôi ở trong đó và từ giao diện đó xuất hiện yêu cầu. Bây giờ kết nối này hoạt động và phần mềm của tôi (thời gian hoạt động-kuma) có thể tiếp cận dịch vụ của tôi.

Vấn đề lớn hiện nay là MỌI yêu cầu từ bên trong Mạng ảo muốn sử dụng cổng 38080 đều được chuyển hướng đến máy ảo đó (172.16.0.3), ngay cả những yêu cầu chuyển đến một máy chủ hoàn toàn khác.

Làm cách nào tôi có thể yêu cầu tường lửa chỉ chuyển hướng lưu lượng truy cập đó nếu yêu cầu thực sự được nhắm mục tiêu vào máy chủ?

TheAnachronism avatar
lá cờ in
Cách giải quyết hiện tại của tôi là sử dụng các cổng không bắt buộc đối với bất kỳ dịch vụ bên ngoài nào nhưng đó không thể là giải pháp cho vấn đề này
Điểm:0
lá cờ in

Vì vậy, tôi thực sự không thể tìm ra giải pháp cho hành vi tường lửa nhưng tôi đã tìm thấy một thứ khác khiến quy tắc chuyển tiếp cổng trong vùng tin cậy không cần thiết. Bằng cách thêm FQDN sẽ phân giải thành IP công khai của Máy chủ lưu trữ vào tệp/etc/hosts bên trong VM, tôi không còn cần chuyển tiếp cổng nữa vì nó ngay lập tức kết nối lại với chính nó (đó là điều tôi muốn ở vị trí đầu tiên). Bằng cách sử dụng các quy tắc chuyển tiếp cổng đó bên trong vùng tin cậy không còn cần thiết nữa và tôi có thể sử dụng lại các cổng đó cho các yêu cầu bên ngoà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.