[РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную (убил 3 дня, так и не понял, как это сделать)
Модератор: Модераторы разделов
-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
[РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Основная система - gentoo
Гостевая система - XP
Имеется свисток от МТС, показываемый в системе, как "Bus 003 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard".
В XP работает прекрасно, работает без нареканий. Подключить к gentoo так и не получилось.
Поэтому, было принято решение попробовать пробросить интернет из гостевой системы (где он работает нормально) в основную. Но, ничего не получилось, к сожалению.
Прошу помощи у сообщества - либо нормально подключить свисток, либо пробросить интернет в основную систему.
Буду рад любым советам.
Гостевая система - XP
Имеется свисток от МТС, показываемый в системе, как "Bus 003 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard".
В XP работает прекрасно, работает без нареканий. Подключить к gentoo так и не получилось.
Поэтому, было принято решение попробовать пробросить интернет из гостевой системы (где он работает нормально) в основную. Но, ничего не получилось, к сожалению.
Прошу помощи у сообщества - либо нормально подключить свисток, либо пробросить интернет в основную систему.
Буду рад любым советам.
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Какая у Вас виртуальная машина?
Вообще-то, я не уверен, что такое возможно, потому что ресурсы обычно пробрасываются из основной в гостевую, но не в обратную сторону.
Смотрите сами: программа, например, браузер отправляет запрос в сеть и на этот запрос приходит ответ. Передача информации происходит с помощью сетевого устройства. Но у Вас сетевое устройство находится в другой системе и основная система об этих устройствах ничего не знает. То есть браузер должен адресовать свои запросы не в Сеть, а в виртуальную машину из которой они нормально уйдут в свисток, на них придёт ответ и этот ответ нужно из виртуальной машины передать в браузер. То есть гостевая система должна быть не клиентом ресурсов как сейчас, а наоборот. Я не знаю, ни одной виртуальной машины, где такое было бы предусмотрено.
На мой взгляд, проще заставить свисток работать в основной системе.
Отображается он у Вас правильно. VID:PID такие и должны быть.
Значит, должно в системе появиться устройство, соответствующее свистку. Скорее всего, их будет несколько /dev/ttyUSB{0,1,2}. Они появляются? Если нет, значит не загружены нужные модули ядра.
Ну ещё понадобится ppp, ModemManager или NetworkManager. Также minicom пригодится.
У Вас на какой стадии настроек дело стопорится?
Ещё вариант - прошить прошивкой HILink. Но это сложнее. Надо разлочить модем, потом залить прошивку и веб-морду. Нормально это сделать можно только под win. Успех всего этого мероприятия зависит от модели устройства. Но с этим - на другой форум.
Вообще-то, я не уверен, что такое возможно, потому что ресурсы обычно пробрасываются из основной в гостевую, но не в обратную сторону.
Смотрите сами: программа, например, браузер отправляет запрос в сеть и на этот запрос приходит ответ. Передача информации происходит с помощью сетевого устройства. Но у Вас сетевое устройство находится в другой системе и основная система об этих устройствах ничего не знает. То есть браузер должен адресовать свои запросы не в Сеть, а в виртуальную машину из которой они нормально уйдут в свисток, на них придёт ответ и этот ответ нужно из виртуальной машины передать в браузер. То есть гостевая система должна быть не клиентом ресурсов как сейчас, а наоборот. Я не знаю, ни одной виртуальной машины, где такое было бы предусмотрено.
На мой взгляд, проще заставить свисток работать в основной системе.
Отображается он у Вас правильно. VID:PID такие и должны быть.
Значит, должно в системе появиться устройство, соответствующее свистку. Скорее всего, их будет несколько /dev/ttyUSB{0,1,2}. Они появляются? Если нет, значит не загружены нужные модули ядра.
Ну ещё понадобится ppp, ModemManager или NetworkManager. Также minicom пригодится.
У Вас на какой стадии настроек дело стопорится?
Ещё вариант - прошить прошивкой HILink. Но это сложнее. Надо разлочить модем, потом залить прошивку и веб-морду. Нормально это сделать можно только под win. Успех всего этого мероприятия зависит от модели устройства. Но с этим - на другой форум.
Спасибо сказали:
-
- Сообщения: 1144
- Статус: Slacker!
- ОС: Slackware64-current
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
На госте нужен прокси на интерфейс хоста. Следовательно, нужно ВМ и хост объединить в одну сеть, а хост заставить ходить через этот прокси.
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Там наоборот надо. Чтобы хост попадал в интернет через гостя. Потому что именно в госте мопед рабочий.
А такое разве возможно? Вроде нет.
-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
VirtualBox - забыл написать.
В том то и дело, что ttyUSB в системе не появляются. Хотя, если читать рекомендации, то устройства появляются после того, как свисток переключается в режим "только модем".
И он вроде как переключается, если верить ответу свистка в терминале. Но, либо не запоминает, либо что-то происходит после "передергивания" - все остается так же, как и было.
С модулями ядра вроде все ок, по крайней мере подобные устройства появляются после подключения переходника USB-RS232...
Про возможный проброс - если в гостевой системе выставить сетевой адаптер, как "виртуальный адаптер хоста", то системы пингуются в обе стороны. Так что, возможно, проблемы в настройках.
В том то и дело, что ttyUSB в системе не появляются. Хотя, если читать рекомендации, то устройства появляются после того, как свисток переключается в режим "только модем".
И он вроде как переключается, если верить ответу свистка в терминале. Но, либо не запоминает, либо что-то происходит после "передергивания" - все остается так же, как и было.
С модулями ядра вроде все ок, по крайней мере подобные устройства появляются после подключения переходника USB-RS232...
Про возможный проброс - если в гостевой системе выставить сетевой адаптер, как "виртуальный адаптер хоста", то системы пингуются в обе стороны. Так что, возможно, проблемы в настройках.
-
- Сообщения: 1144
- Статус: Slacker!
- ОС: Slackware64-current
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Тут может помочь usb_modeswitch. Проследите, что у вас он есть и является наиболее свежим, а также проверьте наличие правила udev, по которому usb_modeswitch будет вызываться при подключении модема.
Еще раз, на госте нужно поднять прокси, а хост нужно заставить использовать этот прокси. Еще можно попробовать на госте настроить форвардинг.
проблемы в настройках
Еще раз, на госте нужно поднять прокси, а хост нужно заставить использовать этот прокси. Еще можно попробовать на госте настроить форвардинг.
-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
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. Но, похоже нет.
Хочется сделать все-таки нормально.
P.S. По идее, завести свисток в офтопике, а потом из основной системы пытаться до него достучаться - это изврат сам по себе. Да и заморачиваться с проксями нет ни времени, ни желания. Думал, можно как-то сделать по-быстрому, средствами самого VirtualBox. Но, похоже нет.
Хочется сделать все-таки нормально.
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Так, стоп. У Вас 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. Если не волнует потеря гарантии и не боитесь рискнуть - попробуйте. Только внимательно изучите материалы о перешивке.
Я оба свои модема перешил, теперь модем виден как сетевая карта и я не знаю никаких хлопот.
Спасибо сказали:
-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
У меня как раз E3372h. Если верить серийному номеру.
Изначальные номера я указал как есть, они были такими, когда usb_modeswitch еще даже не было в системе.
Команду я сейчас попробую, не проблема.
Насчет гарантии - я свисток брал меньше недели назад, он мне нужен фактически пока не дойдет провод до дома, потом либо продам, либо просто сдам продавцу. Тем более, что опыт бумажной работы с барыгами у меня есть.
Изначальные номера я указал как есть, они были такими, когда 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
Команду я сейчас попробую, не проблема.
Насчет гарантии - я свисток брал меньше недели назад, он мне нужен фактически пока не дойдет провод до дома, потом либо продам, либо просто сдам продавцу. Тем более, что опыт бумажной работы с барыгами у меня есть.

-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Очень интересно. Выполнение привело к появлению дополнительных портов /dev/ttyUSB1и /dev/ttyUSB2 (/dev/ttyUSB0 у меня занят переходником USB-RS232). Разбираюсь дальше...
P.S. Заодно, оказывается появился еще и /dev/gsmmodem Есть шанс завести свисток нормально
Код: Выделить всё
echo 12d1 1506 > /sys/bus/usb-serial/drivers/generic/new_id
P.S. Заодно, оказывается появился еще и /dev/gsmmodem Есть шанс завести свисток нормально
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Два одинаковых что ли? Не верю(с).
Да, вот что.
Код: Выделить всё
echo 12d1 1506 > /sys/bus/usb-serial/drivers/option1/new_id
А у Вас я такого модуля не заметил.
Может быть, из-за этого файлы устройств не появляются.
Тем не менее, команда отработала?
Очень интересно.
Ну раз устройства таки появились, попробуйте настроить соединение.
Например, для 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* может быть несколько (в Вашем случае - два).
Если прицепиться не к тому, получим хорошее зависание.
Спасибо сказали:
-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Насчет двух одинаковых портов - это "копипаста", конечно.
В реале все ОК
Ваш пример с ppp пробовал - он не идет. Выхлоп
Решил попробовать wvdial. Создал файл /etc/wvdial.conf
Выхлоп
Сия сказка может длиться вечно. Я столько не проживу. Читаю дальше....

Ваш пример с 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.
...
Сия сказка может длиться вечно. Я столько не проживу. Читаю дальше....
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Блин. Встречалась такая бага. За давностью времени не помню, как разруливал.
Я сейчас не могу проверить, у меня оба модема в HiLink.
Там дело либо в авторизации, либо вот в этой строке
Код: Выделить всё
OK 'AT\^SYSCFGEX="00",3fffffff,2,4,7fffffffffffffff,,'
Логин/пароль нужно прописать в pap-secrets или в chap-secrets.
Чтобы было легче, воспользуйтесь pppsetup. Потом в файлах подправите имя модема, номер вызова и т,п.
А вообще я начинал вот отсюда.
У wvdial конфигурялка есть. Вы её запускали или писали файл вручную?
И почему у Вас в конфиге /dev/gsmmodem, а не /dev/ttyUSB1 ?
-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Как раз конфигурялкой и создавал.
А /dev/gsmmodem это просто линк на /dev/ttyUSB1. Создается автоматом. Довольно удобно, когда ttyUSBXX не один.
Ссылку посмотрю, спасибо!
А /dev/gsmmodem это просто линк на /dev/ttyUSB1. Создается автоматом. Довольно удобно, когда ttyUSBXX не один.
Ссылку посмотрю, спасибо!
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Простите, не уловил суть идеи. ttyUSB действительно не один, но у них у каждого своя задача.
Например, у e3272 - ttyUSB0 рулит модемом, ttyUSB1 нужен в режиме сетевой карты, ttyUSB2 - вспомогательный порт, принимает команды.
У e3372 всего два порта, один для модема, другой для сетевой карты.
Смысл делать симлинк? Их перепутать невозможно. Разве что несколько модемов подключено одновременно.
Там чего-то не хватает. Уже не помню. Решение находил где-то на убунтовском форуме русскоязычном.
-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Я симлинк руками не делаю. Он сам появляется. Причем правильный. Довольно удобно, имхо.
А насчет перепутать - легко. Допустим я, по работе, часто пользую разные девайсы, имеющие интерфейс USB-RS232. Подключил один, затем другой, затем третий, отключил второй, затем первый, затем подключил второй - и мозги набекрень.
И, в данной ситуации, как раз спасают именованные интерфейсы, стартуемые из rules.d
А насчет перепутать - легко. Допустим я, по работе, часто пользую разные девайсы, имеющие интерфейс USB-RS232. Подключил один, затем другой, затем третий, отключил второй, затем первый, затем подключил второй - и мозги набекрень.

-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: [РЕШЕНО] Проброс интернета из ГОСТЕВОЙ ОС в основную
Ура! Победа! Пишу из 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.

Оказалось все просто - логи рулят!
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.