Điểm:0

Đường hầm VPN đi qua với iptables

lá cờ ng

VPS email của tôi sắp đạt đến giới hạn nhưng IP chuyên dụng của nó được nuôi dưỡng tốt và tôi không thể chia tay với nó. Tôi đang cố gắng thiết lập một môi trường thử nghiệm trong đó tôi thiết lập máy chủ VPN trên VPS chỉ để chuyển lưu lượng truy cập vào và ra trở lại máy ảo với mục tiêu sử dụng IP bên ngoài trên VPS cho tất cả giao tiếp internet trong khi chuyển lưu lượng truy cập đó trở lại một máy ảo. Rắc rối của tôi là với iptables. Tôi không thể tìm ra cái này và tôi chắc chắn rằng đó chỉ là sự thiếu hiểu biết của tôi khi sử dụng iptables ở mức độ này. Cả VPS và VM của tôi đều đang chạy Debian 10.

Tôi đã thử một vài biến thể khác nhau của các quy tắc mà tôi đã tìm thấy từ các bài đăng khác nhau tại đây.

Biến thể (Tôi đã thay đổi tên và cổng của bộ điều hợp khi sử dụng các quy tắc này)

iptables -A FORWARD -m conntrack --ctstate NEW -s $PRIVATE_SUBNET -m policy --pol none --dir in -j ACCEPT
iptables -t nat -A POSTROUTING -s $PRIVATE_SUBNET -m policy --pol none --dir out -j MASQUERADE
iptables -A INPUT -p udp --dport $SERVER_PORT -j CHẤP NHẬN
iptables -A FORWARD -i eth0 -o wg0 -p tcp --syn --dport 80 -m conntrack --ctstate MỚI -j CHẤP NHẬN
iptables -A FORWARD -i eth0 -o wg0 -m conntrack --ctstate ĐÃ THÀNH LẬP, LIÊN QUAN -j CHẤP NHẬN
iptables -A FORWARD -i wg0 -o eth0 -m conntrack --ctstate ĐÃ THÀNH LẬP, LIÊN QUAN -j CHẤP NHẬN
iptables -A FORWARD -i eth0 -o wg0 -p tcp --syn --dport 443 -m conntrack --ctstate MỚI -j CHẤP NHẬN
iptables -A FORWARD -i eth0 -o wg0 -m conntrack --ctstate ĐÃ THÀNH LẬP, LIÊN QUAN -j CHẤP NHẬN
iptables -A FORWARD -i wg0 -o eth0 -m conntrack --ctstate ĐÃ THÀNH LẬP, LIÊN QUAN -j CHẤP NHẬN
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination $WIREGUARD_CLIENT_ADDRESS
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination $WIREGUARD_CLIENT_ADDRESS

Tôi cũng đã thử viết các quy tắc của riêng mình nhưng ngay cả sau khi xem một số video hướng dẫn tuyệt vời bao gồm nhiều nội dung hơn thì chỉ có bảng bộ lọc. Tôi dường như không có hình dung chính xác về lưu lượng truy cập.

Ngoài ra, vì tôi muốn nhận lưu lượng truy cập MỚI từ máy chủ VPN, tôi biết rằng tôi phải thực hiện các thay đổi đối với iptables trên máy ảo "máy khách" và đó cũng có thể là vấn đề của tôi. Tôi đã hy vọng ai đó có thể làm sáng tỏ một số khái niệm cơ bản mà tôi có thể còn thiếu để giải câu đố này.

Điểm:0
lá cờ cn

Nếu tôi nhớ không lầm, 'luồng' cho một gói đến sẽ là:

sơ đồ viết lại tiêu đề

Tôi đã thử nghiệm điều này trên một số phiên bản EC2: một phiên bản công khai và một phiên bản riêng tư. Cả hai đều chạy apache với một trang web đơn giản, một trang nói "cổng" và một trang nói "nút".

Trước khi thêm quy tắc bảng IP, tôi có thể cuộn tròn một trang web đơn giản và trang web hiển thị chính xác trang web đó từ phiên bản 'cổng' của tôi. Sau đó tôi làm như sau trên cổng:

tiếng vang 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/10-forwarding.conf
Sudo sysctl -w net.ipv4.ip_forward=1

Sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.0.100.154
sudo iptables -A FORWARD -i eth0 -p tcp --dport 80 -j CHẤP NHẬN
sudo iptables -t nat -A POSTROUTING -p tcp --dport 80 -j SNAT --to 10.0.0.160

Điều này cho phép tôi cuộn tròn IP công cộng, nơi nó được NAT cho máy ảo nội bộ mục tiêu và được chuyển tiếp/NAT chính xác cho phản hồi. Tôi đã thiết lập mạng con riêng tư mà không có bất kỳ định tuyến bên ngoài nào, vì vậy trừ khi nó định tuyến đến phạm vi nội bộ, nó sẽ không đi đâu cả. Nó hoạt động như mong đợi!

Nếu bạn có nhiều giao diện thì bạn có thể khóa PHÍA TRƯỚC quy tắc tốt hơn một chút với việc bổ sung -i eth0 -o wg0 đối với một số quy tắc, và SAU ĐƯỜNG cai trị với một -o wg0.

Vì vậy, tôi nghĩ rằng các quy tắc của bạn nên là:

#Â dnat để nhắm mục tiêu VPN VM
iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dports 80,443 -j DNAT --to-destination $WIREGUARD_CLIENT_ADDRESS

# chuyển tiếp giữa các giao diện cho liên kết mới
iptables -A FORWARD -i eth0 -o wg0 -p tcp -m multiport --dports 80,443 -m conntrack --ctstate MỚI -j CHẤP NHẬN
#Â cho phép chuyển tiếp lưu lượng liên quan - không cần cả hai bộ -i/-o vì chúng tôi chỉ có thể cho phép lưu lượng liên quan
iptables -A FORWARD -m state ĐƯỢC THIẾT LẬP,LIÊN QUAN -j CHẤP NHẬN

#Â định tuyến lại cho VPN
iptables -t nat -A POSTROUTING -o wg0 -p tcp -m multiport --dports 80,443 -j MASQUERADE
lá cờ ng
Chính xác những gì tôi đang tìm kiếm! Hoạt động như một cơ duyên và lời giải thích sẽ giúp tôi tìm ra những loại tình huống này trong tương lai. Cảm ơn!

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