Рейтинг:0

Скрипт для совместного использования WIFI через Ethernet между серверами Ubuntu 20.04?

флаг us

Вопрос

Есть ли общий сценарий, который передает Wi-Fi через Ethernet с сервера Ubuntu на другой (у которого нет карты Wi-Fi)? я видел этот вопросэто, и это) решает его для версии с графическим интерфейсом с помощью щелчков мыши, и я подумал, что смогу предотвратить повторное изобретение колеса, если эквивалентный скрипт уже существует.

Серверная часть (CLI-работа)

Найдена урезанная версия этого скрипта на GitHub, в сочетании с инструкциями по этот сайт работал на стороне сервера.

судо нано /etc/sysctl.conf

Раскомментировать (можно сделать с помощью судо тройник команда в скрипте):

сеть.ipv4.ip_forward=1

Сохранить с ctrl+s, ctrl+х. Перезагрузите с помощью:

судо sysctl -p /etc/sysctl.conf

Создайте следующий скрипт с именем share_wifi.sh:

lan_device="eth0"
онлайн_устройство = "wlan0"

iptables -t nat -A POSTROUTING -o $online_device -j MASQUERADE
iptables -A FORWARD -i $online_device -o $lan_device -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
iptables -A FORWARD -i $lan_device -o $online_device -j ПРИНЯТЬ

Сделайте его работоспособным и запустите его с помощью:

chmod +x share_wifi.sh
судо ./share_wifi.sh

Затем я сохранил локальный IP-адрес «сервера», выполнив:

имя хоста -я

Который вернул что-то вроде 123.145.16.18 415.141.14.15, я сохранил первый возвращенный IP-адрес.

Клиентская сторона (только GUI)

Тем не менее, я установил клиентский компьютер вручную, используя графический интерфейс вместо CLI. Сначала я пробовал команды CLI, но эти возвращали ошибки:

sudo ip route del default
sudo ip route добавить по умолчанию через <ip шлюза>
судо нано /etc/resolv.conf

И добавил: сервер имен 8.8.8.8, сохранил его с ctrl+s, ctrl+х.

Это не обеспечивало доступ в Интернет к устройству, поэтому я попробовал решение с ручным / графическим интерфейсом, которое сработало: Я щелкнул в верхнем правом символе Wi-Fi/LAN на проводные настройки, нажал на вкладку: IPv4, нажал на Метод IPv4 и в этом разделе нажал на Руководство. Далее в разделе Адреса Я заполнил:

Адрес:123.145.16.55
Сетевая маска: 255.255.255.0
Шлюз: 123.145.16.18
  • Примечание в Адрес Я ввел случайный IP-адрес в том же формат/диапазон в качестве локального IP-адреса сервера. Так, например, сервер имел: 123.145.16.18 и я выбрал 123.145.16.55, Я думаю я повезло, что этот IP еще не был занят другим устройством.
  • Примечание в Сетевая маска Я ввел значение по умолчанию/стандартное значение.
  • Примечание в Шлюз Я ввел локальный IP-адрес сервера, который я записал ранее с помощью имя хоста -я команда.

Затем я нажал «Применить», и все, клиентский компьютер автоматически подключился к Интернету.

Поэтому я стремлюсь автоматизировать последний шаг. В идеале, автоматически обнаружив клиентский компьютер через ssh, войдя в систему и запустив на нем скрипт с хост-компьютера, который в основном устанавливает это ручное подключение к хосту. В противном случае используйте два отдельных сценария, один для хоста, другой для клиента.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.