Имеется клиент, который пользуется 3G интернетом, соответственно NAT и серый IP адрес. Имеется необходимость туда попадать на сервер терминалов и IP камеры. Я решил сделать подключение к уже имеющемуся серверу OpenVPN. И оттуда прокинуть порты на камеры и сервер. У клиента используется 3G роутер TP-Link TL-MR3020.
На него залил прошивку OpenWRT Attitude Adjustment Beta 2.
Прошивку берем тут и прошиваем из вебморды стоковой прошивки роутера, как при обычном обновлении.
Так как на борту флеш объемом всего 4Мб, то пришлось поставить туда усб хаб и флешку. Но чтобы увиделась флешка сначала нужно доустановить пакеты.
Cоздаем точку подключения:
Я флешку на компе заранее отформатировал в ext4, маунтим ее:
Сначала была еще мысль создать на флешке раздел под swap, но потом передумал, вдруг мало ли сдохнет флешка от постоянной перезаписи.
Копируем туда установленные пакеты:
Немного правим конфиг:
чтобы выглядело вот так:
затем перезагружаем роутер
Теперь мы не ограничены исходным размером flash роутера. И можем себе позволить поставить практически все :)
Смотрим свободное место:
Устанавливаем необходимые нам пакеты:
Для нормальной работы mc нужно выполнить две строчки:
И чтобы каждый раз их не выполнять руками нужно их добавить в
Затем копируем на роутер в
Правим конфиг
затем запускаем
Теперь настраиваем 3g. Устанавливаем пакеты:
Добавляем в
option 'proto' '3g'
Перезагружаем роутер и проверяем:
Все отлично работает, несмотря на задержки. Другого интернета нет, так как здание находится далековато от всего, и подключить человеческий интернет стоит слишком дорого, то приходится довольствоваться этим. 3g модем Huawei e150, у кторого принудительно включен режим только модем, с другими модемами придется возможно поплясать.
Подробнее про подключение флешки и размещению пакетов почитать можно тут, про openvpn тут
На него залил прошивку OpenWRT Attitude Adjustment Beta 2.
Прошивку берем тут и прошиваем из вебморды стоковой прошивки роутера, как при обычном обновлении.
Так как на борту флеш объемом всего 4Мб, то пришлось поставить туда усб хаб и флешку. Но чтобы увиделась флешка сначала нужно доустановить пакеты.
opkg install kmod-usb-uhci kmod-usb-storage block-mount kmod-fs-ext4
insmod usb-ohci
Cоздаем точку подключения:
mkdir /mnt/sda1
Я флешку на компе заранее отформатировал в ext4, маунтим ее:
mount -t ext4 /dev/sda1 /mnt/sda1 -o rw,sync
Сначала была еще мысль создать на флешке раздел под swap, но потом передумал, вдруг мало ли сдохнет флешка от постоянной перезаписи.
Копируем туда установленные пакеты:
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xvf –
Немного правим конфиг:
vi /etc/config/fstab
чтобы выглядело вот так:
config 'mount'
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 1
затем перезагружаем роутер
reboot
Теперь мы не ограничены исходным размером flash роутера. И можем себе позволить поставить практически все :)
Смотрим свободное место:
df -h
Filesystem Size Used Available Use% Mounted on
rootfs 504.4M 25.0M 453.8M 5% /
/dev/root 2.0M 2.0M 0 100% /rom
tmpfs 14.3M 168.0K 14.1M 1% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 504.4M 25.0M 453.8M 5% /overlay
overlayfs:/overlay 504.4M 25.0M 453.8M 5% /
Устанавливаем необходимые нам пакеты:
opkg install openvpn nano mc luci-i18n-russian
Для нормальной работы mc нужно выполнить две строчки:
export TERMINFO=/usr/share/terminfo
export TERM=xterm
И чтобы каждый раз их не выполнять руками нужно их добавить в
/etc/profile
:nano /etc/profile
Затем копируем на роутер в
/etc/openvpn/
ключи и сертификаты созданные на сервере openvpn:ca.crt
dh1024.pem
client.crt
client.key
ta.key
Правим конфиг
nano /etc/config/openvpn
package openvpn
config openvpn client
option enabled 1
option client 1
option dev tun
option proto udp
list remote "remote.server.ip 1194"
option resolv_retry infinite
option nobind 1
option persist_key 1
option persist_tun 1
option ca /etc/openvpn/ca.crt
option cert /etc/openvpn/client.crt
option key /etc/openvpn/client.key
option dh /etc/openvpn/dh1024.pem
option ns_cert_type server
option tls_auth "/etc/openvpn/ta.key 1"
option comp_lzo 1
option verb 0
затем запускаем
openvpn
/etc/init.d/openvpn start
/etc/init.d/openvpn enable
Теперь настраиваем 3g. Устанавливаем пакеты:
opkg install kmod-usb-serial kmod-usb-serial-option
Добавляем в
/etc/config/network
nano /etc/config/network
config 'interface' 'wan'
option 'ifname' 'ppp0'
#option 'pincode' '1234'; у кого включена проверка pin кода раскомментировать строчку
option 'device' '/dev/ttyUSB0': может быть другим, проверяйте с помощью dmesg
option 'apn' 'home.beeline.ru'; указываем свою apn
option 'service' 'umts'
option 'proto' '3g'
#option 'username' 'yourusername'; у некоторых ОПСОСов требуется
#option 'password' 'yourpassword'; авторизация при подключении
Перезагружаем роутер и проверяем:
ping 192.168.254.1 -c 5
PING 192.168.254.1 (192.168.254.1): 56 data bytes
64 bytes from 192.168.254.1: seq=0 ttl=64 time=947.409 ms
64 bytes from 192.168.254.1: seq=1 ttl=64 time=606.373 ms
64 bytes from 192.168.254.1: seq=2 ttl=64 time=576.448 ms
64 bytes from 192.168.254.1: seq=3 ttl=64 time=554.852 ms
64 bytes from 192.168.254.1: seq=4 ttl=64 time=503.695 ms
--- 192.168.254.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 503.695/637.755/947.409 ms
ifconfig
3g-wan Link encap:Point-to-Point Protocol
inet addr:172.20.17.132 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:220 errors:0 dropped:0 overruns:0 frame:0
TX packets:234 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:25248 (24.6 KiB) TX bytes:23382 (22.8 KiB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.254.105 P-t-P: 192.168.254.106 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:840 (840.0 B) TX bytes:840 (840.0 B)
Все отлично работает, несмотря на задержки. Другого интернета нет, так как здание находится далековато от всего, и подключить человеческий интернет стоит слишком дорого, то приходится довольствоваться этим. 3g модем Huawei e150, у кторого принудительно включен режим только модем, с другими модемами придется возможно поплясать.
Подробнее про подключение флешки и размещению пакетов почитать можно тут, про openvpn тут