Тема: Jolla как USB-модем
Йоллка умеет расшаривать интернет по wlan (в последней прошивке реализована даже кнопка для этого), однако с usb всё несколько сложнее. Без особого труда нагугливается такое решение:
присоединяемся к ПК по usb-кабелю в режиме developer mode и запускаем в терминале от пользователя devel-su
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o rmnet0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i rmnet0 -o rndis0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i rndis0 -o rmnet0 -j ACCEPT
iptables -A FORWARD -i wlan0 -o rndis0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i rndis0 -o wlan0 -j ACCEPT
Это реализует маршрутизацию между сетевыми соединениями. После необходимо сконфигурировать сетевое подключение на ПК (задать IP 192.168.2.***, шлюз 192.168.2.15, днс — любой известный, например, гугловский 8.8.4.4 или, на случай неприязни к империи добра, — 208.67.222.222).
Задача — засунуть вышеуказанный скрипт в автозапуск.
Нагуглил такой рецепт.
Создаем сервис, допустим, назовем его usb-modem.service — это файл, располагающийся по адресу /etc/systemd/system, следующего содержания:
[Unit]
Description=usb-modem
Before=default.target
[Service]
Type=forking
ExecStart=/etc/systemd/system/usb-modem.sh
[Install]
WantedBy=default.target
где usb-modem.sh — скрипт, выполняющий требуемое:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
… ну и так далее (см. выше)
Я его поместил в ту же папку /etc/systemd/system/ и сделал исполняемым:
chmod +x /etc/systemd/system/usb-modem.sh
После чего можно запускать созданный сервис:
systemctl enable usb-modem.service
Увы, не взлетело
Где я тут поступаю не так? Возможно, проблема в том, что скрипт пытается что-то записать в /proc/… но соответствующий процесс на старте еще не успел запуститься, не знаю, я в линуксах не силён, я его только для „вконтактика и асечки“ использую