Câu hỏi
Có tập lệnh chung chia sẻ Wi-Fi qua Ethernet từ Máy chủ Ubuntu sang máy chủ khác (không có thẻ Wi-Fi) không? tôi đã thấy câu hỏi này (và cái này, và cái này) giải quyết nó cho phiên bản có GUI bằng cách nhấp chuột và tôi nghĩ rằng tôi có thể ngăn việc phát minh lại bánh xe nếu đã tồn tại tập lệnh tương đương.
Phía máy chủ (hoạt động CLI)
Đã tìm thấy phiên bản rút gọn của tập lệnh này trên GitHub, kết hợp với hướng dẫn trên trang web này làm việc ở phía máy chủ.
sudo nano /etc/sysctl.conf
Bỏ ghi chú (có thể được thực hiện với sudo tee
lệnh trong tập lệnh):
net.ipv4.ip_forward=1
Lưu với ctrl+s
, ctrl+x
. Tải lại bằng cách sử dụng:
Sudo sysctl -p /etc/sysctl.conf
Tạo tập lệnh sau có tên share_wifi.sh
:
lan_device="eth0"
online_device="wlan0"
iptables -t nat -A POSTROUTING -o $online_device -j MASQUERADE
iptables -A FORWARD -i $online_device -o $lan_device -m state --state LIÊN QUAN, THÀNH LẬP -j CHẤP NHẬN
iptables -A FORWARD -i $lan_device -o $online_device -j CHẤP NHẬN
Làm cho nó có thể chạy được và chạy nó với:
chmod +x share_wifi.sh
sudo ./share_wifi.sh
Tiếp theo, tôi đã lưu địa chỉ IP cục bộ của "máy chủ" bằng cách chạy:
tên máy chủ -tôi
Mà trả lại một cái gì đó như 123.145.16.18 415.141.14.15
, tôi đã lưu địa chỉ IP đầu tiên được trả về.
Phía máy khách (chỉ dành cho GUI)
Tuy nhiên, tôi đã đặt thủ công máy khách bằng GUI thay vì CLI. Đầu tiên tôi đã thử các lệnh CLI, nhưng các lỗi này đã trả về:
Sudo ip route mặc định
sudo ip route add default via <ip of gateway pc>
sudo nano /etc/resolv.conf
Và thêm: máy chủ định danh 8.8.8.8
, đã lưu nó với ctrl+s
, ctrl+x
.
Điều này không cung cấp internet cho thiết bị, vì vậy tôi đã thử giải pháp thủ công/GUI, giải pháp này đã hoạt động:
Tôi đã nhấp vào biểu tượng Wi-Fi/LAN trên cùng bên phải trên cài đặt có dây
, nhấp vào tab: IPv4
, nhấp vào Phương pháp IPv4
và trong phần đó nhấp vào Thủ công
. Tiếp theo trong phần địa chỉ
Tôi điền vào:
Địa chỉ:123.145.16.55
Mặt nạ mạng:255.255.255.0
Cổng:123.145.16.18
- lưu ý trong
Địa chỉ nhà
Tôi đã nhập một địa chỉ IP ngẫu nhiên trong cùng một
format/range làm địa chỉ IP cục bộ của máy chủ. Vì vậy, ví dụ
máy chủ đã có: 123.145.16.18
và tôi đã chọn 123.145.16.55
, Tôi nghĩ tôi
thật may mắn là IP đó chưa bị lấy bởi một thiết bị khác.
- lưu ý trong
khẩu trang
Tôi đã nhập một giá trị mặc định/tiêu chuẩn.
- lưu ý trong
cổng
Tôi đã nhập địa chỉ IP cục bộ của máy chủ mà tôi đã ghi lại trước đó với tên máy chủ -tôi
chỉ huy.
Tiếp theo, tôi bấm vào áp dụng, và thế là xong, máy khách được tự động kết nối với internet.
Vì vậy, tôi đang nhắm đến việc tự động hóa bước cuối cùng, Lý tưởng nhất là bằng cách tự động phát hiện máy khách qua ssh, đăng nhập và chạy tập lệnh trên đó từ máy chủ, về cơ bản sẽ thiết lập kết nối thủ công đó với máy chủ. Mặt khác, bằng cách sử dụng hai tập lệnh riêng biệt, một cho máy chủ, một cho máy khách.