Ubuntu 10.04 + 3g от Мегафон

Сегодня ночью, ровно 00:10 опять отрубился интернет от ЗАО "Системы телеком".

Конечно, за весь день ничего выяснить не смогли (даже не буду описывать эти переговоры с ТП), поэтому приедут лично, завтра в 12:00.

А я пока на модеме посижу, не гордый. Правда, в доме 2 ноутбука, телефоны и PS3 — всем надо интернет через Wi-Fi. Интернет у меня раздаётся роутером, а он получает его с сервера, который работает шлюзом и файерволом.

Поэтому, сегодня добил настройку 3G модема с симкой от Мегафон на сервере, чтобы вся аппаратура даже не заметила подмены. Пишу скорее для себя, но вдруг и еще кому пригодится. Итак:

1. Ставим wvdial на сервер с Ubuntu.
sudo apt-get install wvdial

2. Пишем конфиг в /etc/wvdial.conf
[Dialer usb]
Modem Type = USB Modem
Baut = 460800
New PPPD = yes
Modem = /dev/ttyUSB0
ISDN = 0
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Init3 = AT+CGDCONT=1,"IP","internet"
Phone = *99#
Username = megafon
Password = megafon
Dial Attempts = 5
Dial Command = ATM1L3DT
Auto Reconnect = on
Abort on Busy = off
Carrier Check = on
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = off
Idle Seconds = 0
Auto DNS = on

3. Отрубаем внешнюю сетевую, иначе новые маршруты не пропишутся автоматом
sudo ifconfig eth0 down

4. Запускаем wvdial в фоне, он будет писать всякое в консоль
sudo wvdial usb &

Должна появиться
--> WvDial: Internet dialer version 1.61
--> Warning: section [Dialer 2] does not exist in wvdial.conf.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0
ATQ0 V1 E1 S0=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet"
AT+CGDCONT=1,"IP","internet"
OK
--> Modem initialized.
--> Sending: ATM1L3DT*99#
--> Waiting for carrier.
ATM1L3DT*99#
CONNECT
--> Carrier detected.  Waiting for prompt.
--> Don't know what to do!  Starting pppd and hoping for the best.
--> Starting pppd at Mon Jan 14 22:38:34 2013
--> Pid of pppd: 6636
--> Using interface ppp0
--> local  IP address 10.188.60.157
--> remote IP address 10.64.64.64
--> primary   DNS address 10.154.44.150
--> secondary DNS address 46.232.200.127


С этого момента на сервере уже есть интернет, а в локальной сети пока голяк. Это оттого, что надо прописать в iptables новый внешний ip. А его мы смотрим в выводе wvdial — строка с local IP address.

У меня, приблизительно, вот такие правила:
#!/bin/bash
ETH0="10.188.60.157"
IFACE="ppp0"

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F INPUT
iptables -Z INPUT
iptables -P INPUT ACCEPT

iptables -F OUTPUT
iptables -Z OUTPUT
iptables -P OUTPUT ACCEPT

iptables -F FORWARD
iptables -Z FORWARD
iptables -P FORWARD ACCEPT

iptables -F -t nat
iptables -Z -t nat

iptables -t nat -A POSTROUTING --out-interface $IFACE -j SNAT --to-source $ETH0
Сохраняем, запускаем и в локалке должен появиться интернет.

В нужный момент я меняю IFACE и IP, либо на Мегафон, либо на Системы телеком — по желанию. Сожранный трафик за сессию можно смотреть запустив ifconfig:
ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.188.60.157  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:33320 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36144 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:18027577 (18.0 MB)  TX bytes:6361158 (6.3 MB)
Нас интересует последняя строка RX\TX, то есть принято\отправлено.
Василий Наумкин
14 января 2013, 16:53
modx.pro
4 265
0

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0