Tài liệu hướng dẫn máy chủ
Mục đích của IP Masquerading là cho phép các máy có địa chỉ IP riêng, không định tuyến trên mạng của bạn truy cập Internet thông qua máy làm giả mạo. Lưu lượng truy cập từ mạng riêng của bạn dành cho Internet phải được xử lý để trả lời có thể định tuyến lại cho máy đã đưa ra yêu cầu. Để làm điều này, hạt nhân phải sửa đổi địa chỉ IP nguồn của mỗi gói để trả lời sẽ được định tuyến lại, thay vì địa chỉ IP riêng đã đưa ra yêu cầu, điều này là không thể qua Internet. Linux sử dụng Connection Tracking (conntrack) để theo dõi các kết nối nào thuộc về máy nào và định tuyến lại mỗi gói trả về cho phù hợp. Lưu lượng truy cập rời khỏi mạng riêng của bạn do đó được "giả mạo" như có nguồn gốc từ máy cổng Ubuntu của bạn. Quá trình này được gọi trong tài liệu của Microsoft là Chia sẻ kết nối Internet.
Hướng dẫn cho IP Masquerading
Điều này có thể được thực hiện với một quy tắc iptables duy nhất, có thể hơi khác dựa trên cấu hình mạng của bạn:
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADELệnh trên giả sử rằng không gian địa chỉ cá nhân của bạn là 192.168.0.0/16 và thiết bị quay mặt Internet của bạn là ppp0. Cú pháp được chia nhỏ như sau:
- -t nat - quy tắc là đi vào bảng nat
- -A POSTROUTING - quy tắc sẽ được nối thêm (-A) vào chuỗi POSTROUTING
- -s 192.168.0.0/16 - quy tắc áp dụng cho lưu lượng truy cập bắt nguồn từ không gian địa chỉ được chỉ định
- -o ppp0 - quy tắc áp dụng cho lưu lượng truy cập được lên lịch để được định tuyến thông qua thiết bị mạng được chỉ định
- -j MASQUERADE - lưu lượng phù hợp với quy tắc này là "nhảy" (-j) vào mục tiêu MASQUERADE để được thao tác như mô tả ở trên
Mỗi chuỗi trong bảng bộ lọc (bảng mặc định và nơi hầu hết hoặc tất cả lọc gói xảy ra) có chính sách mặc định là ACCEPT, nhưng nếu bạn đang tạo tường lửa ngoài thiết bị cổng, bạn có thể đặt chính sách thành DROP hoặc DỰ ÁN, trong trường hợp này, lưu lượng truy cập giả mạo của bạn cần được cho phép thông qua chuỗi FORWARD để quy tắc trên hoạt động:
sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j CHẤP NHẬN sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ĐƯỢC THÀNH LẬP, LIÊN QUAN -i ppp0 -j ACCEPTCác lệnh trên sẽ cho phép tất cả các kết nối từ mạng cục bộ của bạn vào Internet và tất cả lưu lượng truy cập liên quan đến các kết nối đó sẽ trở về máy khởi động chúng.
* Giấy phép