[РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную (убил 3 дня, так и не понял, как это сделать)

Модератор: Модераторы разделов

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

[РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

Основная система - gentoo
Гостевая система - XP
Имеется свисток от МТС, показываемый в системе, как "Bus 003 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard".
В XP работает прекрасно, работает без нареканий. Подключить к gentoo так и не получилось.
Поэтому, было принято решение попробовать пробросить интернет из гостевой системы (где он работает нормально) в основную. Но, ничего не получилось, к сожалению.
Прошу помощи у сообщества - либо нормально подключить свисток, либо пробросить интернет в основную систему.
Буду рад любым советам.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение Hephaestus »

Какая у Вас виртуальная машина?
Вообще-то, я не уверен, что такое возможно, потому что ресурсы обычно пробрасываются из основной в гостевую, но не в обратную сторону.
Смотрите сами: программа, например, браузер отправляет запрос в сеть и на этот запрос приходит ответ. Передача информации происходит с помощью сетевого устройства. Но у Вас сетевое устройство находится в другой системе и основная система об этих устройствах ничего не знает. То есть браузер должен адресовать свои запросы не в Сеть, а в виртуальную машину из которой они нормально уйдут в свисток, на них придёт ответ и этот ответ нужно из виртуальной машины передать в браузер. То есть гостевая система должна быть не клиентом ресурсов как сейчас, а наоборот. Я не знаю, ни одной виртуальной машины, где такое было бы предусмотрено.

На мой взгляд, проще заставить свисток работать в основной системе.
Отображается он у Вас правильно. VID:PID такие и должны быть.
Значит, должно в системе появиться устройство, соответствующее свистку. Скорее всего, их будет несколько /dev/ttyUSB{0,1,2}. Они появляются? Если нет, значит не загружены нужные модули ядра.
Ну ещё понадобится ppp, ModemManager или NetworkManager. Также minicom пригодится.

У Вас на какой стадии настроек дело стопорится?

Ещё вариант - прошить прошивкой HILink. Но это сложнее. Надо разлочить модем, потом залить прошивку и веб-морду. Нормально это сделать можно только под win. Успех всего этого мероприятия зависит от модели устройства. Но с этим - на другой форум.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение yars »

На госте нужен прокси на интерфейс хоста. Следовательно, нужно ВМ и хост объединить в одну сеть, а хост заставить ходить через этот прокси.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение Hephaestus »

yars писал(а):
30.05.2015 23:26
На госте нужен прокси на интерфейс хоста. Следовательно, нужно ВМ и хост объединить в одну сеть, а гостя заставить ходить через этот прокси.
Там наоборот надо. Чтобы хост попадал в интернет через гостя. Потому что именно в госте мопед рабочий.
А такое разве возможно? Вроде нет.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

VirtualBox - забыл написать.
В том то и дело, что ttyUSB в системе не появляются. Хотя, если читать рекомендации, то устройства появляются после того, как свисток переключается в режим "только модем".
И он вроде как переключается, если верить ответу свистка в терминале. Но, либо не запоминает, либо что-то происходит после "передергивания" - все остается так же, как и было.
С модулями ядра вроде все ок, по крайней мере подобные устройства появляются после подключения переходника USB-RS232...
Про возможный проброс - если в гостевой системе выставить сетевой адаптер, как "виртуальный адаптер хоста", то системы пингуются в обе стороны. Так что, возможно, проблемы в настройках.

Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали:

Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение yars »

Тут может помочь usb_modeswitch. Проследите, что у вас он есть и является наиболее свежим, а также проверьте наличие правила udev, по которому usb_modeswitch будет вызываться при подключении модема.
проблемы в настройках

Еще раз, на госте нужно поднять прокси, а хост нужно заставить использовать этот прокси. Еще можно попробовать на госте настроить форвардинг.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

C usb_modeswitch как раз сейчас и ковыряюсь. Нашел даже файл usb-modeswitch-data-20150115.tar.bz2 в котором как раз настройки для подобных свистков. Но, именно моего VID/PID там нет. Пробовал сделать по аналогии - работать не хочет. Т.е. появляется /dev/sr1 и не появляются /dev/ttyUSBXX. Нашел ссылку http://4pda.ru/forum/index.php?showtopic=582284 Читаю. Думаю...

P.S. По идее, завести свисток в офтопике, а потом из основной системы пытаться до него достучаться - это изврат сам по себе. Да и заморачиваться с проксями нет ни времени, ни желания. Думал, можно как-то сделать по-быстрому, средствами самого VirtualBox. Но, похоже нет.
Хочется сделать все-таки нормально.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение Hephaestus »

devilr писал(а):
31.05.2015 13:55
C usb_modeswitch как раз сейчас и ковыряюсь. Нашел даже файл usb-modeswitch-data-20150115.tar.bz2 в котором как раз настройки для подобных свистков. Но, именно моего VID/PID там нет.
Так, стоп. У Вас E3372?
Вы сказали, что VID:PID выглядит как 12d1:1506, так? Это значит, что usb_modeswitch уже отработал, потому что изначальные VID:PID у e3372 другие.
У Вас E3372s или E3372h?
Если первый - работать должен, у меня такой есть, работает.

Если /dev/ttyUSB* не появляются, попробуйте от рута

Код: Выделить всё

echo 12d1 1506 > /sys/bus/usb-serial/drivers/option1/new_id


Не исключено, что usb_modeswitch отработал неверно.
Поэтому неплохо было бы выяснить vid:pid до переключения. Отрубите временно usb_modeswitch, и посмотрите. Тогда можно будет попытаться найти правильную управляющую команду.
А ещё надо учесть, что usb_modeswitch дергается udev'ом. Убедитесь, что правила отрабатывают.
Ну в процессе отладки всего этого хозяйства можно команду usb_modeswitch дать вручную из командной строки.

А ещё покажите вывод lsmod | grep usb на всякий случай.

Но вообще лучше, конечно, перешить в HilInk. Если не волнует потеря гарантии и не боитесь рискнуть - попробуйте. Только внимательно изучите материалы о перешивке.
Я оба свои модема перешил, теперь модем виден как сетевая карта и я не знаю никаких хлопот.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

У меня как раз E3372h. Если верить серийному номеру.
Изначальные номера я указал как есть, они были такими, когда usb_modeswitch еще даже не было в системе.

Код: Выделить всё

user@localhost ~ $ lsmod | grep usb
usbnet                 20341  2 huawei_cdc_ncm,cdc_ncm
usblp                  10778  0
usbserial              23237  1 ftdi_sio
snd_usb_audio         132551  1
snd_usbmidi_lib        19603  1 snd_usb_audio
snd_rawmidi            18277  1 snd_usbmidi_lib
snd_hwdep               5962  2 snd_usb_audio,snd_hda_codec
snd_pcm                74853  6 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd                    58306  24 snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device
mii                     4067  2 r8169,usbnet
usbhid                 36283  0
usb_storage            48316  0
usbcore               163937  20 usblp,uhci_hcd,snd_usb_audio,uvcvideo,usb_storage,usbserial,ohci_hcd,snd_usbmidi_lib,ehci_hcd,ehci_pci,usbhid,usbnet,huawei_cdc_ncm,ftdi_sio,cdc_acm,cdc_ncm,cdc_wdm,xhci_hcd,xhci_pci
usb_common              1656  1 usbcore

Команду я сейчас попробую, не проблема.
Насчет гарантии - я свисток брал меньше недели назад, он мне нужен фактически пока не дойдет провод до дома, потом либо продам, либо просто сдам продавцу. Тем более, что опыт бумажной работы с барыгами у меня есть. :)
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

Очень интересно. Выполнение

Код: Выделить всё

echo 12d1 1506 > /sys/bus/usb-serial/drivers/generic/new_id
привело к появлению дополнительных портов /dev/ttyUSB1и /dev/ttyUSB2 (/dev/ttyUSB0 у меня занят переходником USB-RS232). Разбираюсь дальше...

P.S. Заодно, оказывается появился еще и /dev/gsmmodem Есть шанс завести свисток нормально
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение Hephaestus »

devilr писал(а):
31.05.2015 16:43
привело к появлению дополнительных портов /dev/ttyUSB1и /dev/ttyUSB1
Два одинаковых что ли? Не верю(с).

Да, вот что.

Код: Выделить всё

echo 12d1 1506 > /sys/bus/usb-serial/drivers/option1/new_id
option1 в этом пути обеспечивается модулем option, по крайней мере, в моей системе.
А у Вас я такого модуля не заметил.
Может быть, из-за этого файлы устройств не появляются.
Тем не менее, команда отработала?
Очень интересно.

Ну раз устройства таки появились, попробуйте настроить соединение.
Например, для ppp будет примерно так.

/etc/ppp/chat-mts-4G

TIMEOUT 5 ECHO ON ABORT '\nBUSY\r' ABORT '\nERROR\r' ABORT '\nNO ANSWER\r' ABORT '\nNO CARRIER\r' ABORT '\nNO DIALTONE\r' ABORT '\nRINGING\r\n\r\nRINGING\r' '' \rAT TIMEOUT 12 OK ATE1 OK 'AT\^SYSCFGEX="00",3fffffff,2,4,7fffffffffffffff,,' OK 'AT+cgdcont=1,"IP","internet.mts.ru"' OK ATD*99#


/etc/ppp/peers/mts-4G

/dev/ttyUSB1 # отключаем сжатие данных nobsdcomp nodeflate # команда для установки соединения connect '/usr/sbin/chat -v -f /etc/ppp/chat-mts-4G' # noauth # автоматическое получение сетевых настроек noipdefault usepeerdns defaultroute # необязательно debug nodetach


Тогда соединение будет устанавливаться командой pppd call mts-4G.
Вместо этого можно использовать ModemManager и морду к нему - modem-manager-gui.
Только здесь может быть проблема: ModemManager упорно цепляется к /dev/ttyUSB0, а он у Вас занят. Одолеть его мне не удалось - это одна из причин перехода на HiLink.
Можно использовать NetworkManager, но у меня он глючил.
Из перечисленных способов самый устойчивый - ppp, хотя и не самый удобный.

Да, имейте в виду. Устройств вида /dev/ttyUSB* может быть несколько (в Вашем случае - два).
Если прицепиться не к тому, получим хорошее зависание.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

Насчет двух одинаковых портов - это "копипаста", конечно. :) В реале все ОК
Ваш пример с ppp пробовал - он не идет. Выхлоп

Код: Выделить всё

Script /usr/sbin/chat -v -f /etc/ppp/chat-mts-4G finished (pid 21715), status = 0x3
Connect script failed

Решил попробовать wvdial. Создал файл /etc/wvdial.conf

Код: Выделить всё

[Dialer Defaults]
Baud = 115200
Country = Russia
ISDN = 0
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Init3 = AT +CGDCONT=1,"IP","internet.mts.ru"
Modem = /dev/gsmmodem
Modem Name = Huawei
Phone = "*99#"
Username = mts
Password = mts

Выхлоп

Код: Выделить всё

--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0
OK
--> Sending: AT +CGDCONT=1,"IP","internet.mts.ru"
AT +CGDCONT=1,"IP","internet.mts.ru"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected.  Waiting for prompt.
--> Connected, but carrier signal lost!  Retrying...
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
...

Сия сказка может длиться вечно. Я столько не проживу. Читаю дальше....
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение Hephaestus »

devilr писал(а):
31.05.2015 19:07
Ваш пример с ppp пробовал - он не идет.
Блин. Встречалась такая бага. За давностью времени не помню, как разруливал.
Я сейчас не могу проверить, у меня оба модема в HiLink.
Там дело либо в авторизации, либо вот в этой строке

Код: Выделить всё

OK              'AT\^SYSCFGEX="00",3fffffff,2,4,7fffffffffffffff,,'
она может быть различна для разных модемов.
Логин/пароль нужно прописать в pap-secrets или в chap-secrets.
Чтобы было легче, воспользуйтесь pppsetup. Потом в файлах подправите имя модема, номер вызова и т,п.

А вообще я начинал вот отсюда.

devilr писал(а):
31.05.2015 19:07
Решил попробовать wvdial. Создал файл /etc/wvdial.conf
У wvdial конфигурялка есть. Вы её запускали или писали файл вручную?
И почему у Вас в конфиге /dev/gsmmodem, а не /dev/ttyUSB1 ?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

Как раз конфигурялкой и создавал.
А /dev/gsmmodem это просто линк на /dev/ttyUSB1. Создается автоматом. Довольно удобно, когда ttyUSBXX не один.
Ссылку посмотрю, спасибо!
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение Hephaestus »

devilr писал(а):
31.05.2015 20:29
Довольно удобно, когда ttyUSBXX не один.
Простите, не уловил суть идеи. ttyUSB действительно не один, но у них у каждого своя задача.
Например, у e3272 - ttyUSB0 рулит модемом, ttyUSB1 нужен в режиме сетевой карты, ttyUSB2 - вспомогательный порт, принимает команды.
У e3372 всего два порта, один для модема, другой для сетевой карты.
Смысл делать симлинк? Их перепутать невозможно. Разве что несколько модемов подключено одновременно.

devilr писал(а):
31.05.2015 20:29
Как раз конфигурялкой и создавал.
Там чего-то не хватает. Уже не помню. Решение находил где-то на убунтовском форуме русскоязычном.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

Я симлинк руками не делаю. Он сам появляется. Причем правильный. Довольно удобно, имхо.
А насчет перепутать - легко. Допустим я, по работе, часто пользую разные девайсы, имеющие интерфейс USB-RS232. Подключил один, затем другой, затем третий, отключил второй, затем первый, затем подключил второй - и мозги набекрень. :) И, в данной ситуации, как раз спасают именованные интерфейсы, стартуемые из rules.d
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали:

Аватара пользователя
devilr
Сообщения: 3177
ОС: Mandriva => Gentoo (~amd64)

Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную

Сообщение devilr »

Ура! Победа! Пишу из gentoo :)
Оказалось все просто - логи рулят!
tail -f /var/log/messages показал занимательную строку "Couldn't set tty to PPP discipline: Invalid argument"
Эта строка означает всего лишь то, что модуля ppp_async нет в системе. После пересборки ядра все заработало.
И как раз с помощью "pppd call mts-4G".
Великое спасибо Hephaestus за наводку! :)

P.S. Отличие только в том, что строка "OK 'AT\^SYSCFGEX="00",3fffffff,2,4,7fffffffffffffff,,'" переключает модем "только в 3G" - я ее просто убрал и получил полные 4G.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Linux это просто
Спасибо сказали: