Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Замысловатая настройка 3G модема Интертелеком  (Прочитано 9610 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн djmix

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Здравствуйте. Постараюсь описать поставленную передо мной задачу, которая в силу моей неопытности поставила меня в тупик.
Итак. Есть сервер с Ubuntu. К нему подключен модем 3ж от компании Интертелеком (дополнительный интернет). Также имеется широкополосный интернет от провайдера Укртелеком (основной интернет). И в довершении всего несколько тачек с ОС Виндоуз.
1. Как подключить и настроить на сервере (то есть в режиме терминала) интернет 3ж
2. Как сделать так, если пропадает интернет от Укртелеком и не появляется через определенное время, автоматом коннектился модем 3ж.
3. Как сделать (с помощью чего) оповещалку на все машины с виндоуз о том, что пропала связь с Укртелеком (основным интернетом).

Пункт 2 не обязательно, так как, думаю сложновато продумать алгоритм.
Спасибо большое.
« Последнее редактирование: 16 Октября 2010, 14:40:58 от .renaissance »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Замысловатая настройка модема 3ж
« Ответ #1 : 16 Октября 2010, 00:19:17 »
В принципе по первым двум пунктам полно в инете информации...

А вот по третьему могу предложить такое. Как связь падает в iptables можно добавить заворот транзитного трафика по http порту на локальный адрес, где будет крутиться, допустим apache со страничкой, оповещающей, что инету наступил хайдук. Ну и dns тогда тоже придется подменить чем-нить...

Оффлайн djmix

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: Замысловатая настройка модема 3ж
« Ответ #2 : 16 Октября 2010, 14:22:07 »
По первым двум-универсальны ли настройки дял всех моделей модемов или есть таки разница (у меня Sierra Wireless AirCard 595U)
По последнему, а можно немножечко подробнее, а то не до конца понятно как это связь падает в ИПтаблес
Спасибо большое

Оффлайн xkool

  • Старожил
  • *
  • Сообщений: 1459
  • do not love my brain
    • Просмотр профиля
Re: Замысловатая настройка модема 3ж
« Ответ #3 : 16 Октября 2010, 14:27:40 »
тебе наверно нужен скрипт,который при потере сети на интерфейсе ethx поднимет соединение на модеме с помощью wvdial.
Лучше маленький доллар, чем большое спасибо.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Замысловатая настройка модема 3ж
« Ответ #4 : 16 Октября 2010, 14:34:40 »
В принципе все универсально. Первым делом главное убедится, что USB мопед определился системой и поднялись его интерфейсные порты /dev/ttyUSBx. Бывают такие мопеды, что при вставке они выдают себя за диск с дровами и нужно его переключить в режим модема. Если он из их числа, то возможно должна помочь утилитка usb-modeswitch, главное чтоб модем был в её базе... Далее поднятие ppp. Тут я не советчик...

По последнему, ты как реализуешь скрипт, который будет определять, упал ли инет, то в него нужно будет добавить команду, которая будет добавлять или убирать в iptbles правило, например, -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT.

xkool, а wvdial то разве не гуёвая программа?

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Замысловатая настройка модема 3ж
« Ответ #5 : 16 Октября 2010, 14:39:18 »
ну например
наступает события - не отправляются эхо запросы на основной шлюз провайдера (Укртелекома) - "ping не проходит"

тогда надо при помощи netfilter (iptables) создать правило, которое будет во всех транзитных пакетах изменять адрес назначения и порт назначения на заранее настроенный  web сервер внутри локальной сети, где размещена страница с крупной надписью "Переключение на резервный канал! Сидим на резервном канале!". это правило надо бы через секунд 120 удалить, вместе с заменой на "сервере с Ubuntu" шлюза по умолчанию на шлюз 3g провайдера.

Оффлайн xkool

  • Старожил
  • *
  • Сообщений: 1459
  • do not love my brain
    • Просмотр профиля
Re: Замысловатая настройка модема 3ж
« Ответ #6 : 16 Октября 2010, 14:40:15 »
Цитировать
xkool, а wvdial то разве не гуёвая программа?

программа терминальная,а морда к ней gnome-ppp
Лучше маленький доллар, чем большое спасибо.

bulatus

  • Гость
Re: Замысловатая настройка модема 3ж
« Ответ #7 : 16 Октября 2010, 14:41:07 »
я с таким модемом не знаком, но вот почитайте
http://ubuntuforums.org/showthread.php?t=460273
может поможет

Оффлайн xkool

  • Старожил
  • *
  • Сообщений: 1459
  • do not love my brain
    • Просмотр профиля
Sierra Wireless AirCard 595U без проблем работает в Ubuntu проблем быть не должно.
Лучше маленький доллар, чем большое спасибо.

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
$ sudo aptitude update && sudp aptitude install thttpd -y
$ sudo nano /etc/spapgw

#!/bin/sh
iptables -t nat -A PREROUTING -i eth1 -d ! $INT_NET \
-p tcp -m multiport --dport 80,8080 -j DNAT --to $WEB-SRV:$WEB-SRV-PORT -v
sleep 120
iptables -t nat -D PREROUTING -i eth1 -d ! $INT_NET \
-p tcp -m multiport --dport 80,8080 -j DNAT --to $WEB-SRV:$WEB-SRV-PORT -v
ip r del default
route add default gw <IP ADDRS DG 3G>

Оффлайн xkool

  • Старожил
  • *
  • Сообщений: 1459
  • do not love my brain
    • Просмотр профиля
Темка по wvdial тебе пригодится:
http://akceptor.com/2008/11/27/nastraivaem-cdma-internet-v-linux/
Лучше маленький доллар, чем большое спасибо.

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
если развить мысль то пункту 3, то

$ sudo aptitude update && sudo aptitude install thttpd -y
$ sudo mv /etc/thttpd/thttpd.conf /etc/thttpd/thttpd.conf.bak -v
$ sudo nano /etc/thttpd/thttpd.conf

# sudo su -c "grep -v "^#" /etc/thttpd/thttpd.conf | sed -e '/^$/d'"
port=82
dir=/var/www2/
chroot
user=www-data
cgipat=/cgi-bin/*
throttles=/etc/thttpd/throttle.conf
logfile=/var/log/thttpd.log
charset=utf8

$ sudo mkdir /var/www2 -v
$ sudo chown www-data:www-data /var/www2 -v
$ sudo nano /var/www2/index.html

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<h1>Переключение на резервный канал! Сидим на резервном канале!</h1>

$ sudo /etc/init.d/thttpd start

Пример правил для netfilter для основного режима работы сервера
$ sudo nano /etc/ipt-save

Цитировать
# Generated by iptables-save v1.4.2 on Wed Oct  6 13:57:18 2010
*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Wed Oct  6 13:57:18 2010
# Generated by iptables-save v1.4.2 on Wed Oct  6 13:57:18 2010
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Wed Oct  6 13:57:18 2010
# Generated by iptables-save v1.4.2 on Wed Oct  6 13:57:18 2010
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#-A PREROUTING -d ! 172.16.1.0/24 -i eth1 -p tcp -m iprange --src-range 172.16.1.2-172.16.1.254 -m multiport --dports 80,8080 -j DNAT --to-destination 172.16.1.1:3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.5.2
-A PREROUTING -i eth0 -p tcp -m tcp --dport 3390 -j DNAT --to-destination 192.168.5.3:3389
-A POSTROUTING -s 172.16.1.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Oct  6 13:57:18 2010
# Generated by iptables-save v1.4.2 on Wed Oct  6 13:57:18 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state INVALID -j DROP
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 172.16.1.0/24 -i eth1 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
COMMIT
# Completed on Wed Oct  6 13:57:18 2010

$ sudo nano /etc/swapgw

Цитировать
#!/bin/sh
GW1=192.168.1.1
TEST_HOST=8.8.4.4
GW2=172.16.5.1
INT_NET=172.16.1.0/24
WEB_SRV=172.16.1.1
WEB_SRV_PORT=82

ping -c 1 -w 15 -n $GW1 ||
ping -c 1 -w 15 -n $TEST_HOST||
{
iptables -F -v
iptables -t nat -F -v
iptables -t mangle -F -v
iptables -t raw -F -v
iptables -X -v
iptables -t nat -X -v
iptables -t mangle -X -v
echo "swap gw"
# правила для netfilter при переходе при переключении на резервный канал
iptables -t nat -A PREROUTING -i eth1 -d ! $INT_NET \
-p tcp -m multiport --dport 80,8080 -j DNAT --to $WEB_SRV:$WEB_SRV_PORT -v
sleep 60
iptables -t nat -D PREROUTING -i eth1 -d ! $INT_NET \
-p tcp -m multiport --dport 80,8080 -j DNAT --to $WEB_SRV:$WEB_SRV_PORT -v
ip r del default
route add default gw $GW2
iptables-restore < /etc/ipt-save
}
$ sudo chmod +x /etc/swapgw -v

$ sudo nano /etc/cron.d/fw

Цитировать
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/5 * * * * root /etc/swapgw

UPD. эхо запросы целесообразно отправлять не на DG основного провайдера, а на общедоступный хост
« Последнее редактирование: 16 Октября 2010, 18:31:35 от Unreg »

Оффлайн djmix

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Спасибо большое за ответы. Счас попробую последние советы.

Оффлайн djmix

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Попробовал настроить как написано здесь:
Настраиваем CDMA-интернет в Linux

набираю команду wvdial выдает мне:
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Idle Seconds = 300, disabling automatic reconnect.
--> Sending: ATDT#777
--> Waiting for carrier.
ATDT#777

1. Зашел ли я в интернет?
2. Как мне раздать этот интернет на сеть?

Спасибо

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
$ ip a
$ ip r
$ sudo ifconfig -a
$ sudo netstat -rn
$ traceroute ya.ru

 

Страница сгенерирована за 0.035 секунд. Запросов: 23.