Установка
raspbian и соединение его с Интернетом.
2.
Запускаем raspi-config, включаем ssh и расширяем
систему на весь объем карточки.
3.
Там же уменьшаем объем, выделенный под
видео.
4. Настраиваем 4G модем - Для MFG823
4.1. Ставим usb-modeswitch и переключаем модем в режим сетевой карточки.
=================================
4.1. Ставим usb-modeswitch и переключаем модем в режим сетевой карточки.
=================================
#apt-get
install usb-modeswitch
#usb_modeswitch
-v 0x19d2 -p 0x1405 -d
4.2.
Подключаем питание от приличного блока
питания, от usb-порта вообще не запустилось.
4.3.
Через ifconfig убеждаемся, что у нас появился
сетевой интерфейс usb0 и мы получили
сетевой адрес типа 192.168.0.х.
4.4. При наличии сети 4G индикатор горит
зеленым. При установленном соединении
он мигает. Нужно через wget дернуть его
управлялку для соединения.
=================================
#wget
-O
/dev/null
--quiet http://192.168.0.1/goform/goform_set_cmd_process?goformId=CONNECT_NETWORK
=================================
Убеждаемся,
что после выполнения команды модем
мигает зеленым - соединение установлено.
(По
ссылке
-https://wiki.archlinux.org/index.php/ZTE_MF_823_(Megafon_M100-3)_4G_Modem
также
другие
команды этого
модема)
4.5. Вставляем в rc.local запуск такого скрипта:
=================================
#!/bin/sh
sleep
15
wget
-O
/dev/null
--quiet http://192.168.0.1/goform/goform_set_cmd_process?goformId=CONNECT_NETWORK
=================================
Sleep
нужен, чтобы после подачи питания модем
успел очнуться и найти сеть.
5.1.Настраиваем 4G модем - Для e3372h в режиме stick (по умолчанию для Мегафона)
Информация по модему - 4pda
Нужно из minicom выдать команду
at^setport="ff;10,12,16,a2"
и сделать
at^reset
5.2. Ставим wvdial
=================================
#apt-get install wvdial
=================================
5.3.Правим /etc/wvdial.conf
=================================
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Init3 = AT+CGDCONT=1,"IP","internet"
Stupid Mode = 1
Modem Type = Analog ModemBaud = 460800
New PPPD = yes
Modem = /dev/ttyUSB0
ISDN = 0
Phone = *99***1#
Username = { }
Password = { }
=================================
5.4.Правим /etc/network/interfaces для автоматического запуска ppp0
=================================
auto ppp0
iface ppp0 inet wvdial
=================================
Настройка openvpn.
6.1.
Ставим его и генерацию ключей.
=================================
#apt-get
install openvpn
#apt-get
install easy-rsa
=================================
6.2.
Ставим утилиты для моста.
=================================
#apt-get
install bridge-utils
=================================
6.3.
Ставим утилиты для поддержки VLAN
=================================
#apt-get
install vlan
#modprobe
8021q
=================================
6.4.
Генерируем как обычно ключи.
=================================
-
Копируем куда-нибудь из /usr/share/easy-rsa
содержимое.
-
Правим файл vars.
-
Запускаем build-ca, build-dh, build-key-server и по
количеству клиентов - build-key.
=================================
- Запускаем openvpn для генерации ключа TLS.
- Запускаем openvpn для генерации ключа TLS.
=================================
#openvpn
--genkey --secret ./ta.key
=================================
-
Из папки keys для сервера берем в
/etc/openvpn/keys
=================================
cp
./ca.crt
/etc/openvpn/keys
cp
./server.key
/etc/openvpn/keys
cp
./server.crt
/etc/openvpn/keys
cp
./dh2048.pem
/etc/openvpn/keys
cp
./ta.key
/etc/openvpn/keys
=================================
-
Делаем chmod для *.key чтение
только владельцу, для остальных —
чтение можно всем.
-
Для клиента тот же набор, только вместо
server.key и server.crt (ключ и сертификат), client0.key
и client1.crt соответственно.
6.5. Включим форвардинг в /etc/sysctl.conf для разрешения
маршрутизации (не обязательно).
=================================
net.ipv4.ip_forward=1
=================================
6.6. Выключаем APIPA на интерфейсах, для чего в /etc/dhcpcd.conf, добавляем
6.6. Выключаем APIPA на интерфейсах, для чего в /etc/dhcpcd.conf, добавляем
=================================
noipv4ll
=================================
6.7.
Конфигурируем сеть. Правим файл
/etc/network/interfaces так, чтобы при старте
сисетмы автоматически поднимался бридж
в прозрачном режиме и туда попадал
реальный физический eth0.
=================================
auto
eth0
iface
eth0 inet manual
up
ifconfig eth0 promisc up
down
ifconfig eth0 promisc down
auto
br0
iface
br0 inet manual
bridge_ports
eth0
bridge_stp
off
up
ifconfig br0 promisc up
down
ifconfig br0 promisc down
=================================
Проверяем
командами ifconfig и brctl show.
6.8.
Делаем, чтобы openvpn запускался при старте
системы, выполняем
=================================
update-rc.d
openvpn enable
=================================
В
каталог /etc/openvpn кладем файл с расширением
.conf, например server0.conf
====
/etc/openvpn/server0.conf ========
tls-server
dev
tap0
proto
udp
port
30003
ca
/etc/openvpn/keys/ca.crt
key
/etc/openvpn/keys/mainvpn.key
cert
/etc/openvpn/keys/mainvpn.crt
dh
/etc/openvpn/keys/dh2048.pem
user
nobody
group
nogroup
persist-key
persist-tun
log
/var/log/openvpn/server0.log
verb
3
mute
20
comp-lzo
tls-auth
/etc/openvpn/keys/ta.key 0
script-security
2
up
/etc/openvpn/bridge-up
=================================
Для
клиента файл конфигурации выглядит
следующим образом:
====
/etc/openvpn/client0.conf ========
client
remote
77.88.55.55
dev
tap0
proto
udp
port
30003
ca
/etc/openvpn/keys/ca.crt
key
/etc/openvpn/keys/clientvpn.key
cert
/etc/openvpn/keys/clientvpn.crt
dh
/etc/openvpn/keys/dh2048.pem
user
nobody
group
nogroup
persist-key
persist-tun
log
/var/log/openvpn/client0.log
verb
3
mute
20
comp-lzo
remote-cert-tls
server
tls-auth
/etc/openvpn/keys/ta.key 1
script-security
2
up
/etc/openvpn/bridge-up
=================================
Для
того, чтобы поднявшись, tap0 попадал в
нужный бридж, в /etc/openvpn кладем файл,
упомянутый в последней строчке
конфигурации:
========/etc/openvpn/bridge-up========
#!/bin/bash
ifconfig
tap0 up promisc
brctl
addif br0 tap0
=================================
Все.
Теперь после перезагрузки сам стартанет
бридж,
затем
поднимется openvpn, присоединится к бриджу.
Остается
с двух сторон воткнуть транковые порты
каталистов или т.п. свитчей и настроить
на них вланы.
Какие
именно, распберри все равно, она пропустит
все. Как обычный кабель.
Самое
главное — сами vlan настраивать
не надо.
Дополнение!
Ситуация, когда нужно пробросить сеть без VLAN описана много где, сам так делал.
Как пробросить транк, я описал здесь.
А если нужно пробросить один VLAN из транка? У меня получилось только так -
На сервере и клиенте.
=/etc/network/interfaces===================
# LAN interface
Дополнение!
Ситуация, когда нужно пробросить сеть без VLAN описана много где, сам так делал.
Как пробросить транк, я описал здесь.
А если нужно пробросить один VLAN из транка? У меня получилось только так -
На сервере и клиенте.
=/etc/network/interfaces===================
# LAN interface
iface enp1s0 inet static
# VLAN 2351
auto vlan2351
iface vlan2351 inet manual
vlan_raw_device enp1s0
# Bridge for VLAN 2351
auto br0
iface br0 inet manual
bridge_ports vlan2351
bridge_stp off
# VLAN 2351
auto vlan2351
iface vlan2351 inet manual
vlan_raw_device enp1s0
auto br0
iface br0 inet manual
bridge_ports vlan2351
bridge_stp off
================================
Promisc не нужно нигде, кроме tap0
На том конце на клиенте получается транковый порт, только с одним VLAN.
И каталисту нужно иметь такую конфигурацию:
================================
vlan 2351
!
interface FastEthernet0/1
description trunk
switchport trunk allowed vlan 2351
switchport mode trunk
no cdp enable
!
interface Vlan2351
ip address 172.16.0.1 255.255.255.0
no ip route-cache
!
================================