Máy tính xách tay Ubuntu 12.04 (chính xác) của tôi có ba giao diện mạng:
eth0
: giao diện có dây đôi khi được kết nối với Internetwlan0
: giao diện không dây đôi khi được kết nối với Internetvboxnet0
: giao diện có dây (thực ra là giao diện ảo VirtualBox) được kết nối với một máy tính khác (thực ra là máy ảo VirtualBox có kết nối mạng ở chế độ chỉ lưu trữ)
Tôi muốn sử dụng iptables
để thiết lập giả mạo NAT / IP để chia sẻ bất kỳ kết nối Internet nào (thích kết nối có dây nếu cả hai đều hoạt động) với máy tính khác.
Các công việc sau đây eth0
được cắm vào:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward &&
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE &&
sudo iptables -A FORWARD -i eth0 -o vboxnet0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT &&
sudo iptables -A FORWARD -i vboxnet0 -o eth0 -j ACCEPT
Nếu tôi chuyển từ có dây sang không dây, điều này rõ ràng sẽ ngừng hoạt động.
Tôi đã thử:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward &&
sudo iptables -t nat -A POSTROUTING -o '!vboxnet0' -j MASQUERADE &&
sudo iptables -A FORWARD -i '!vboxnet0' -o vboxnet0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT &&
sudo iptables -A FORWARD -i vboxnet0 -o '!vboxnet0' -j ACCEPT
nhưng nó không hoạt động. Tôi có thể thử thực hiện một số tập lệnh Trình quản lý mạng để thay đổi iptables
quy tắc bất cứ khi nào giao diện tăng hoặc giảm, nhưng tôi đoán rằng sẽ có thể thực hiện được mà không cần phải nhảy qua các vòng như vậy.
Bất kỳ đề xuất?