Iptables thiết lập NATforwarding


1

Tôi có 2 máy ảo với CentOS7:

  1. Thẻ mạng: IP mạng thực tế 192.168.1.10w / GW: 192.168.1.254 enp0s3 (Client1) (KHÔNG CÓ KẾT NỐI TRỰC TIẾP VỚI INTERNET)

  2. 192.168.1.254Thẻ mạng: IP mạng thực tế enp0s3 và NAT IP 10.0.3.15enp0s8 (Client2) (ĐÃ KẾT NỐI INTERNET) (KHÔNG CÓ GW)

Mục tiêu là có thể ping đến ví dụ google.com với Client1, người không kết nối internet trực tiếp nhưng kết nối được chuyển tiếp bởi client2.

Làm thế nào tôi có thể làm điều này với iptables?


Chúng tôi cần thêm dữ liệu. Cổng nào có cả vms? ai trong số họ đang làm iptables và có quyền truy cập internet? Tôi đoán client2 không có quyền truy cập internet và là những gì bạn muốn, chỉ để truy cập internet thông qua client1, phải không? chúng ta cũng cần tên của các giao diện ... Thông tin kém ở đây!
OscarAkaElvis

đã chỉnh sửa một chút ...
xCeltix

Câu trả lời:


2

Ok là đơn giản. Bạn phải kích hoạt chuyển tiếp trên máy sắp thực hiện NAT. Bạn phải làm hai điều cho việc này:

echo 1 > /proc/sys/net/ipv4/ip_forwardiptables -P FORWARD ACCEPT

Và sau đó giả trang cho đầu ra vào internet:

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

Chúng tôi giả định rằng bạn không có các quy tắc khác mâu thuẫn với điều này và Client2 có quyền truy cập internet hoạt động. Bạn có thể làm sạch tất cả các quy tắc trước khi làm điều này với iptables -Fiptables -t nat -Fvà sau đó tung ra quy tắc này tôi đặt trước.


Rất vui được giúp đỡ. Đừng quên đánh dấu câu hỏi đã được giải quyết :)
OscarAkaElvis

Ok đánh dấu nó;)
xCeltix

Cảm ơn bạn. Là một thực hành tốt ... không chỉ bởi vì những người đã giúp bạn đạt được điểm danh tiếng ... là một cách để nói "Cảm ơn" và là một quy tắc trang web! Nếu được giải quyết, đánh dấu nó bởi vì có thể có thể giúp đỡ người khác sau này.
OscarAkaElvis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.