MASQUERADE là gì trong bối cảnh của iptables?


42

Trong iptablesnhiều lần tôi thấy mục tiêu MASQUERADE . Đó là gì? Tôi đã tìm kiếm và tìm thấy rất nhiều thứ. Nhưng tôi cần ai đó giải thích cho tôi những gì MASQUERADE là một cách dễ hiểu?

Một ví dụ (lấy từ câu trả lời này ) là:

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

Câu trả lời:


33

Đây là một thuật toán phụ thuộc vào việc triển khai iptables cho phép một người định tuyến lưu lượng mà không làm gián đoạn lưu lượng ban đầu.

Tôi sử dụng thuật toán giả trang khi tôi muốn tạo một bộ chuyển đổi wifi ảo và chia sẻ wifi của mình.

Tôi KHÔNG nói về việc chia sẻ kết nối Ethernet thông qua wifi của bạn, Tôi đang nói về việc chia sẻ kết nối wifi thông qua wifi của bạn thông qua việc giả mạo nó thành một bộ chuyển đổi ảo. Điều này có hiệu lực cho phép bạn chia sẻ kết nối wifi của bạn thông qua wifi.

.

.

Đọc cái này và cuộn xuống MASQUERADE: http://billauer.co.il/ipmasq-html.html

Đọc phần này để biết thêm chi tiết: http://oreilly.com/openbook/linag2/book/ch11.html

Tất cả những câu hỏi về "Connectify cho linux" có thể được giải quyết bằng cách triển khai thuật toán MASQUERADE.

Để biết ví dụ trực tiếp, hãy truy cập trang này: http://pritambaral.com/2012/05/connectify-for-linux-w châu-hotspot /

TÔI KHÔNG ĐỌC LIÊN KẾT CUỐI CÙNG !!!! Nhưng sau đây là một đoạn trích / ví dụ chính xác.

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -A FORWARD -i wlan0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Tôi thực sự không thích cách các công cụ tìm kiếm biến thuật toán thành một loại hack độc ác .. Tôi sử dụng nó chỉ để chia sẻ internet với điện thoại Android của tôi.

EDIT CUỐI: liên kết này là tốt nhất http://gsp.com/cgi-bin/man.cgi?section=3&topic=libalias


giống như liên kết đầu tiên của bạn - chính xác-- những gì tôi đang tìm kiếm :)
Mohammad Reza Rezwani

Tôi đã kiểm tra MASUERADEquy tắc (dòng thứ ba trong danh sách mã của bạn) và liên kết được chia sẻ chính xác và có sẵn trên các giao diện. Vì vậy, tôi thất vọng FORWARDquy tắc cho là gì? (quy tắc trên dòng thứ hai trong danh sách mã của bạn)

34

MASQUERADE là một mục tiêu iptables có thể được sử dụng thay vì mục tiêu SNAT (NAT nguồn) khi không biết ip bên ngoài của giao diện inet tại thời điểm viết quy tắc (khi máy chủ nhận được ip bên ngoài một cách linh hoạt).


Nên dùng gì khi biết địa chỉ IP?
Luc

4
@Luc, mục tiêu SNAT (dịch địa chỉ mạng nguồn) với việc xác định ip nguồn nên được đặt thay vì ip nguồn gốc trong gói ip từ máy chủ gốc. Giống như thế này trong -j SNAT --to-source xx.xx.xx.xxđó xx.xx.xx.xx là ip bên ngoài của giao diện mong muốn. Và tôi không thể nói rằng nó nên được sử dụng khi biết ip bên ngoài. Tôi muốn sử dụng MASQUERADE thay vì SNAT để làm cho các quy tắc trở nên linh hoạt và không bị ràng buộc với ip bên ngoài cụ thể mà tôi có tại thời điểm này.
Sergey P. aka azure

7

IP Superman còn được gọi là Dịch địa chỉ mạng (NAT) và Kết nối mạng Chia sẻ một số hệ điều hành phổ biến khác. Về cơ bản, đây là một phương pháp cho phép một máy tính không có địa chỉ IP rộng Internet công cộng giao tiếp với các máy tính khác trên Internet với sự trợ giúp của một máy tính khác nằm giữa nó và Internet.

Như bạn đã biết địa chỉ IP được sử dụng trên Internet để xác định máy. Đưa ra một gói có địa chỉ IP, mọi bộ định tuyến tạo nên Internet đều biết nơi gửi gói đó đến đích. Giờ đây, cũng có một vài dải địa chỉ IP được dành riêng cho sử dụng riêng trong Mạng cục bộ và các mạng khác không được kết nối trực tiếp với Internet. Các địa chỉ riêng này được đảm bảo không được sử dụng trên Internet công cộng.

Điều này gây ra sự cố cho các máy được kết nối với mạng riêng đang sử dụng địa chỉ IP riêng vì chúng không thể được kết nối trực tiếp với Internet. Họ không có địa chỉ IP được phép sử dụng trên Internet công cộng. IP masage giải quyết vấn đề này bằng cách cho phép một máy có địa chỉ IP riêng giao tiếp với Internet, đồng thời sửa đổi các gói của máy để sử dụng địa chỉ IP công cộng hợp lệ thay vì địa chỉ IP riêng ban đầu. Các gói trở về từ Internet được sửa đổi trở lại để sử dụng địa chỉ IP gốc trước khi đến máy IP riêng.

Lưu ý rằng điều này không giới hạn ở mạng internet giả trang / NAT có thể được sử dụng để định tuyến lưu lượng truy cập từ mạng này sang mạng khác, giả sử 10.0.0.0/24 và 192.168.0.0/24

Quy tắc giả trang có thể được thay thế bằng quy tắc SNAT

iptables -t nat -A POSTROUTING -o eth2 -s 10.0.0.0/24  -j MASQUERADE

= =

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth2 -j SNAT --to-source 192.168.1.2
# supposing eth2 assigned ip is 192.168.1.2

Cả giả trang và snat đều yêu cầu ip_forward được bật ở cấp kernel với echo "1" > /proc/sys/net/ipv4/ip_forwardhoặc vĩnh viễn bằng cách chỉnh sửa tệp nano cài đặt /etc/sysctl.conf.

Chuyển tiếp IP làm cho máy hoạt động như một bộ định tuyến và do đó chuyển hướng / chuyển tiếp các gói từ tất cả giao diện hoạt động một cách hợp lý bởi mạng được nhắm mục tiêu (cục bộ / mạng / khác / vv) hoặc theo bảng tuyến. Lưu ý rằng việc bật ip_forward có thể gây ra rủi ro bảo mật quan trọng, nếu không thể tránh được ip_forward, nó cần được giám sát / bảo mật bằng các quy tắc iptables / tuyến bổ sung.

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.