Comments 15
Один только пример: если приходить на некоторые сайты сразу с двух IP-адресов, то им это может не понравится, они перестанут работать => «интернет не работает».Есть Multipath TCP, призванный решить эту проблему. Здесь же была статья про настройку одного из решений на его базе, правда, тот вроде как использует для соединения с суммирующим сервером Shadowsocks.
Вообще, в Wireguard маршрутизация осуществляется по публичным ключам, да и заявлена поддержка IP Roaming, так что вполне вероятно, что Wireguard бы успешно завёлся поверх Mwan, суммируя скрость схожим с MPTCP способом.
ИМХО, из-за всего этого MPTCP применим сейчас в редких кейсах вроде видеотрансляций.
Ну и вот ссылка на мой корпус для этой платы на thingiverse
Установка последней сборки Armbian
Запись на SD
wget https://github.com/muravjov/armbian-build/releases/download/2020-03-05_0be9c01/Armbian_20.05.0-trunk_Bananapir64_buster.img.zip unzip -p ./Armbian_20.05.0-trunk_Bananapir64_buster.img.zip | pv | sudo dd of=/dev/mmcblk0 bs=10M status=noxfer
Вставляем карту, UART, загружаемся. Логин-пароль стандартный для Armbian: root/1234
Далее записываем файл /etc/network/interfaces, чтобы включить сеть (через UART медленно работать), пример содержимого https://github.com/muravjov/ansible-bpi-r64/blob/master/router/interfaces.j2
Подключаем кабель с сетью/интернетом к WAN, включаем сеть:
$ systemctl restart networking # логи, если что пошло не так $ journalctl -u networking # по DHCP получили IP адрес на WAN интерфейс => проверяем интернет $ ping lenta.ru
Далее уже опционально, в зависимости о того, что хотим сделать.
Допустим установить как по статье задеплоиться через аnsible, тогда нужно создать пользователя sa и пробросить свой ssh-ключ, я делаю так:
# создаем пользователя useradd -m -s /bin/bash sa # и группу usermod -aG sudo sa # даем рут-права, см. https://askubuntu.com/a/281085 # добавляем строчку # sa ALL=(ALL) NOPASSWD:ALL visudo # доступ без пароля passwd -d sa # ключ прокидываем sudo -i -u sa chmod go-w ~/ mkdir ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys echo "<public_key_text>" >> ~/.ssh/authorized_keys
Со своего компьютера заходим по ssh на роутер под именем hm-bananapi-1, для это нужно 1) чтоб роутер был доступен по сети с компьютера 2) добавить у себя в домашней папке ~/.ssh/config следующие вариант строк:
Host hm-bananapi-1 User sa #HostName 192.168.1.8 HostName 172.30.1.1
Далее переходим к разделу статьи "Wireguard, РКН, Bird" и продолжаем деплой через ansible — и для роутера, и для заранее заготовленного VPS.
Loaded environment from uEnv.txt
*** U-Boot SD CARD ***
1. Reload Bootmenu
2. Load Kernel from TFTP.
3. Boot Linux from SD.
U-Boot console
Press UP/DOWN to move or Press 1~9,a~b to choose, ENTER to select
ret2 = 1
ret2 = 1
<= [mmc1 block 0] =>
[0x00000000] 53 44 4d 4d 43 5f 42 4f
[0x00000008] 4f 54 00 00 01 00 00 00
[0x00000010] 00 02 00 00 ff ff ff ff
[0x00000018] ff ff ff ff ff ff ff ff
[0x00000020] ff ff ff ff ff ff ff ff
[0x00000028] ff ff ff ff ff ff ff ff
[0x00000030] ff ff ff ff ff ff ff ff
[0x00000038] ff ff ff ff ff ff ff ff
[0x00000040] ff ff ff ff ff ff ff ff
[0x00000048] ff ff ff ff ff ff ff ff
[0x00000050] ff ff ff ff ff ff ff ff
[0x00000058] ff ff ff ff ff ff ff ff
[0x00000060] ff ff ff ff ff ff ff ff
[0x00000068] ff ff ff ff ff ff ff ff
[0x00000070] ff ff ff ff ff ff ff ff
[0x00000078] ff ff ff ff ff ff ff ff
[0x00000080] ff ff ff ff ff ff ff ff
[0x00000088] ff ff ff ff ff ff ff ff
[0x00000090] ff ff ff ff ff ff ff ff
[0x00000098] ff ff ff ff ff ff ff ff
[0x000000a0] ff ff ff ff ff ff ff ff
[0x000000a8] ff ff ff ff ff ff ff ff
[0x000000b0] ff ff ff ff ff ff ff ff
[0x000000b8] ff ff ff ff ff ff ff ff
[0x000000c0] ff ff ff ff ff ff ff ff
[0x000000c8] ff ff ff ff ff ff ff ff
[0x000000d0] ff ff ff ff ff ff ff ff
[0x000000d8] ff ff ff ff ff ff ff ff
[0x000000e0] ff ff ff ff ff ff ff ff
[0x000000e8] ff ff ff ff ff ff ff ff
[0x000000f0] ff ff ff ff ff ff ff ff
[0x000000f8] ff ff ff ff ff ff ff ff
[0x00000100] ff ff ff ff ff ff ff ff
[0x00000108] ff ff ff ff ff ff ff ff
[0x00000110] ff ff ff ff ff ff ff ff
[0x00000118] ff ff ff ff ff ff ff ff
[0x00000120] ff ff ff ff ff ff ff ff
[0x00000128] ff ff ff ff ff ff ff ff
[0x00000130] ff ff ff ff ff ff ff ff
[0x00000138] ff ff ff ff ff ff ff ff
[0x00000140] ff ff ff ff ff ff ff ff
[0x00000148] ff ff ff ff ff ff ff ff
[0x00000150] ff ff ff ff ff ff ff ff
[0x00000158] ff ff ff ff ff ff ff ff
[0x00000160] ff ff ff ff ff ff ff ff
[0x00000168] ff ff ff ff ff ff ff ff
[0x00000170] ff ff ff ff ff ff ff ff
[0x00000178] ff ff ff ff ff ff ff ff
[0x00000180] ff ff ff ff ff ff ff ff
[0x00000188] ff ff ff ff ff ff ff ff
[0x00000190] ff ff ff ff ff ff ff ff
[0x00000198] ff ff ff ff ff ff ff ff
[0x000001a0] ff ff ff ff ff ff ff ff
[0x000001a8] ff ff ff ff ff ff ff ff
[0x000001b0] ff ff ff ff ff ff ff ff
[0x000001b8] 28 c2 36 51 00 00 00 00
[0x000001c0] 01 40 0e 03 e0 ff 00 20
[0x000001c8] 00 00 00 00 03 00 00 03
[0x000001d0] e0 ff 83 03 e0 ff 00 20
[0x000001d8] 03 00 00 00 13 00 00 00
[0x000001e0] 00 00 00 00 00 00 00 00
[0x000001e8] 00 00 00 00 00 00 00 00
[0x000001f0] 00 00 00 00 00 00 00 00
[0x000001f8] 00 00 00 00 00 00 55 aa
Partition Map for MMC device 1 — Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 8192 196608 5136c228-01 0e
2 204800 1245184 5136c228-02 83
mmc1 is available
Interface: MMC
Device 1: Vendor: Man 000002 Snr 3000f100 Rev: 9.12 Prod: SA04G
Type: Removable Hard Disk
Capacity: 3776.0 MB = 3.6 GB (7733248 x 512)
Filesystem: FAT16 «BOOT „
Boot from SD
reading bananapi/bpi-r64/linux/uEnv.txt
1409 bytes read in 9 ms (152.3 KiB/s)
Loaded environment from uEnv.txt
Banana Pi bpi-r64 chip: mt7622 Service: linux
reading bananapi/bpi-r64/linux/dtb/bpi-r64-5.4.22-bpi-r64-main.dtb
24258 bytes read in 14 ms (1.7 MiB/s)
reading bananapi/bpi-r64/linux/uImage_nodt-5.4.22-bpi-r64-main
[SD1] mmc_dev_bread TIMEOUT
Error reading cluster
** Unable to read file bananapi/bpi-r64/linux/uImage_nodt-5.4.22-bpi-r64-main **
bootm flag=0, states=70f
Wrong Image Format for bootm command
ERROR: can't get kernel image!
del
От провайдера приходит один кабель, каким образом вы его воткнете в оба маршрутизатора? Я одно время думал хаб пассивный поставить.
Провайдеров 2, а не один: по одному маршрутизатору на каждого провайдера.
Если провайдер один, то идея с мостом/пассивным хабом может сработать, а может нет. Например, некоторые провайдеры разрешают посылать пакеты только с одного МАС-адреса, да и еще заранее прописанного у них в личном кабинете (мотивируют тем, чтоб сосед скрытно к вашему интернету не смог подсосаться).
А какой смысл таким образом подключать BPI к одному провайдеру?
В вашей схеме появляется лишний masquerade-нг (в хабе LAN<=>WAN), чего хочется избежать.
Маршрутизатор Banana Pi R64 — Debian, Wireguard, РКН