Раздаем gprs/edge/3g интернет через wi-fi


Для чего это может быть нужно:
 
- может быть полезно для кпк с wi-fi модулем.
- полезно в местах с неуверенным приемом gprs (можно найти место более-менее стабильного приема, поставить туда ноут с gprs-модемом и в зоне действия wi-fi адаптера ноутбука будет стабильный выход в интернет с других устройств).
- для раздачи интернета на несколько машин (с развитием 3g это перестает выглядить извращенством).
 
1. Настраиваем подключение через gprs-модем (пример настройки через выдаваемый мегафоном хуавей E1550 здесь:  gprsmodem)
 
2. Настраиваем доступ в интернет для компьютеров, подключенных к раздающему (простейший вариант).
 
Для начала активируем роутинг пакетов:
 
надо отредактировать файл sysctl.conf:
 
sudo nano /etc/sysctl.conf
 
Пишем в файл след. строки:
 
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
 
Создаем скрипт для запуска раздачи интернета:
 
touch ~/share.sh # создаем файл скрипта
nano ~/share.sh # открываем для редактирования
 
Пишем след. строки:
# с помощью iptables настраиваем роутинг (подробнее про создание правил для фаервола iptables : 50-iptables)
 
#!/bin/bash
sudo iptables -P FORWARD ACCEPT
sudo iptables --table nat -A POSTROUTING -o ppp0 -j MASQUERADE
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" # Включаем IP-Forwarding. (0-отключен)
 
Сохраняем, даем права на запуск:
 
sudo chmod a+x /home/virtdiver/share.sh
 
Запускаем:
 
~/share.sh
 
3. Далее создаем сеть, здесь приведу мой скрипт (подробнее: wi-fi):
 
touch ~/lan.sh # создаем файл скрипта
nano ~/lan.sh # открываем для редактирования
 
Пишем:
#!/bin/bash
sudo ifconfig wlan0 down # отключаем вай-фай адаптер
sudo iwconfig wlan0 mode ad-hoc #указываем тип сети - ad-hoc
sudo iwconfig wlan0 channel 2 # указываем частотный канал
sudo iwconfig wlan0 essid inet # имя сети
sudo ifconfig wlan0 192.168.0.100 netmask 255.255.255.0 # ip-адрес компьютера и маска сети
sudo ifconfig wlan0 up # включаем адаптер
 
Сохраняем, даем права на запуск:
 
sudo chmod a+x /home/virtdiver/lan.sh
 
Запускаем:
 
~/lan.sh
 
Подключаемся к созданной сети. Необходимо в настройках указать ip-адрес(например 192.168.0.200), маску (255.255.255.0), шлюз (в нашем случае 192.168.0.100) (для возможности получать эти параметры автоматически необходимо настроить dhcp-сервер : dhcp). Если подключаемый компьютер также под линуксом, то подключение может выглядеть так:
 
в /etc/network/interfaces  указываем шлюз, маску подсети, ip-адрес :
 
iface wlan0 inet static
address 192.168.0.200
netmask 255.255.255.0
gateway 192.168.0.100
auto wlan0
 
Далее скрипт подключения к сети:
 
touch ~/lan.sh # создаем файл скрипта
nano ~/lan.sh # открываем для редактирования
 
#!/bin/bash
sudo ifconfig wlan0 down # отключаем вай-фай адаптер
sudo iwconfig wlan0 mode ad-hoc #указываем тип сети - ad-hoc
sudo iwconfig wlan0 channel 2 # указываем частотный канал
sudo iwconfig wlan0 essid inet # имя сети
sudo ifconfig wlan0 up # включаем адаптер
 
Запускаем:
 
~/lan.sh
 
также в настройках нужно указать dns-адреса провайдера, или к примеру гугла: 8.8.8.8  .
В линуксе можно сделать так :
 
sudo nano /etc/resolv.conf
 
и там пишем:
 
nameserver 8.8.8.8
 
Вроде ничего не упустил... То есть теперь призапуске компьютера нужно проделать следующие операции:
 
Подключаем интернет:
 
sudo pon megafon
 
Запускаем сеть:
 
~/lan.sh
 
Расшариваем интернет:
 
~/share.sh

July 1, 2010