FreeBSD 3G/LTE usb-modem
Использовался Huawei e173u-1, однако должно работать на большинстве "stick-fimware" (не "HiLink" - режим эмулирования сетевого интерфейса Ethernet с управлением через веб-сервер). Модемы других производителей могут иметь другое имя устройства в системе. Некоторые модели имеют как "stick-fimware", так и "HiLink" прошивки. Уточнить можно на том же 4PDA.
Привязка к оператору связи на работоспособность данной конфигурации не влияет, однако некоторые модели модемов не стабильно работают в режиме блокировки (обрывается соединение по time-out), в частности, некоторые старые модели ZTE от Beeline-RU. Уточнять так же можно на 4PDA.
Протестировано на 11-й и 12-й ветках, ядро GENERIC, чистая установка с последними обновлениями на 03 июля 2019 года.
Добавление модулей ядра
Добавить в загрузку модули:
echo sbumodem_load="YES" >> /boot/loader.conf echo u3g_load="YES" >> /boot/loader.conf
Загрузить их сразу:
kldload u3g && kldload umodem
Проверить, u3g и umodem должны присутствовать в выводе:
kldstat
Настройка PPP
Создание /etc/ppp.conf
Сохранить стандарный конфиг:
mv /etc/ppp/ppp.conf /etc/ppp/ppp.conf.old
Создать удобным способом новый (я тут использую системный vi)
vi /etc/ppp/ppp.conf
Пример для TELE2 Russia, некоторые операторы требуют авторизацию, для них следует изменить настройки
disable pap accept chap
и добавить пару логин/пароль (пример для MTS-RU)
set authname "mts" set authkey "mts"
Содержимое ppp.conf должно иметь такой вид (ВНИМАНИЕ, отступы обязательны). IPv6 отключен, т.к. у меня не предоставляется оператором.
default: set log Phase Chat LCP IPC CCP tun command ident user-ppp tele23g: set device /dev/ttyU0.0 set speed 460800 set dial "\"\" \ AT OK \ AT OK \ ATS0=0 OK \ AT OK \ AT&FE0V1X1&D2&C1s0=0 OK \ AT OK \ AT+CGDCONT=1,\\\"IP\\\",\\\"internet\\\" OK \ ATDT*99***1# CONNECT" set login set authname "" set authkey "" disable ipv6cp disable pap accept chap enable dns set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR
Автостарт соединения при загрузке
echo network_interfaces="lo0 tun0" >> /etc/rc.conf echo ifconfig_tun0= >> /etc/rc.conf
Сама конфигурация запуска PPP
echo 'ppp -auto tele23g' > /etc/start_if.tun0
DNS серверы, я тут использую публичные Google
echo 'nameserver 8.8.8.8' > /etc/resolv.conf echo 'nameserver 8.8.4.4' >> /etc/resolv.conf
Для доступа к сервисным сайтам оператора при нулевом/отрицательном балансе или при приостановке услуги доступа в интернет необходимо использовать его DNS. Узнать их можно в тех.поддержке либо используя DHCP (тут я не рассматриваю такую конфигурация).
Запуск соединения
ppp -auto tele23g