Это старая версия документа!
Содержание
OpenWRT для роутера Beeline SmartBox N300
Доступ в ssh
После установки пароля root в веб-морде можно зайти в роутер по SSH, разрешив старые способы шифрования соединения.
Иначе наблюдается следующая ошибка при попытке установки соединения с роутером:
Unable to negotiate with 192.168.1.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,kexguess2@matt.ucc.asn.au
# ssh ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-dss root@192.168.1.1
Исправление проблемы с разрешением ДНС на роутере
# # Исправление проблемы с разрешением ДНС на роутере # uci add_list dhcp.@dnsmasq[0].listen_address='8.8.8.8' uci add_list dhcp.@dnsmasq[0].listen_address='8.8.4.4' uci del dhcp.@dnsmasq[0].server uci add_list dhcp.@dnsmasq[0].server='8.8.8.8' uci add_list dhcp.@dnsmasq[0].server='8.8.4.4' uci commit dhcp.@dnsmasq[0] /etc/init.d/dnsmasq restart
Репозиторий пакетов
src/gz barrier_breaker_base http://openwrt.ivtrans.ru/n300/packages/base src/gz barrier_breaker_luci http://openwrt.ivtrans.ru/n300/packages/luci src/gz barrier_breaker_management http://openwrt.ivtrans.ru/n300/packages/management src/gz barrier_breaker_oldpackages http://openwrt.ivtrans.ru/n300/packages/oldpackages src/gz barrier_breaker_packages http://openwrt.ivtrans.ru/n300/packages/packages src/gz barrier_breaker_routing http://openwrt.ivtrans.ru/n300/packages/routing src/gz barrier_breaker_telephony http://openwrt.ivtrans.ru/n300/packages/telephony
SSH по ключу
# # Генерируем старый ключик # ssh-keygen -t rsa -b 2048 -m PEM -f ~/.ssh/id_rsa_legacy # # Подключаемся в ssh # ssh -p 22012 \ -i ~/.ssh/id_rsa_legacy \ -o IdentityAgent=none \ -o HostKeyAlgorithms=+ssh-rsa \ -o PubkeyAcceptedAlgorithms=+ssh-rsa \ -o KexAlgorithms=+diffie-hellman-group14-sha1 \ root@192.168.0.56
OpenVPN 2.5.3
Работающая в настоящее время версия openVPN
# Скачиваем пакеты из репозитория cd /tmp wget http://openwrt.ivtrans.ru/n300/packages/openvpn/libopenssl_1.0.2t-1_realtek.ipk wget http://openwrt.ivtrans.ru/n300/packages/openvpn/openvpn-openssl_2.5.3-4_realtek.ipk # устанавливаем openvpn opkg install openvpn-openssl_2.5.3-4_realtek.ipk libopenssl_1.0.2t-1_realtek.ipk # конфигурируем openvpn # заливаем когфиг в /etc/openvpn/openvpn.conf vi /etc/openvpn/openvpn.conf # включаем openvpn в загрузку /etc/init.d/openvpn enable # Стартуем openvpn /etc/init.d/openvpn start
Redirect gateway OpenVPN
# Весь трафик через туннель redirect-gateway def1 # Игнорируем редирект трафика в тунель pull-filter ignore redirect-gateway
Прописываем нужные роуты для tun0
# в конфиг openvpn нужно добавить пару строк pull-filter ignore redirect-gateway up /etc/openvpn/tun0-up.sh touch /etc/openvpn/tun0-up.sh chmod +x /etc/openvpn/tun0-up.sh
Файл /etc/openvpn/tun0-up.sh
#!/bin/sh TUN=tun0 # MAX.RU -> blackhole ip route add blackhole 155.212.204.0/24 wget -qO - http://openwrt.ivtrans.ru/ip-list.txt |grep -vE '^#|^$|^;' > /tmp/ip-list.txt while read line; do ip r a $line dev $TUN done < /tmp/ip-list.txt wget -qO - https://www.gstatic.com/ipranges/goog.json |grep ipv4Prefix|awk '{print $2}' |sed 's/"//g' > /tmp/google.txt while read line; do # echo $line ip r a $line dev $TUN done < /tmp/google.txt date > /tmp/$TUN-up.txt
Второй вариант файла - когда заворачиваем все за речку, а наших стукачей подкидываем
#!/bin/sh GW=$(ip r |grep default |awk '{print $3}' |xargs) echo $GW > /tmp/GW-name.txt wget -qO - http://openwrt.ivtrans.ru/blackhole.txt |grep -vE '^#|^$|^;' > /tmp/ip-list.txt while read line; do ip r a $line via $GW done < /tmp/ip-list.txt date > /tmp/GW-up.txt
Включаем tun0
# Проверяем, есть ли уже зона для VPN, если нет — создаем или добавляем в WAN # Самый простой и надежный способ для OpenWrt: uci set firewall.vpn=zone uci set firewall.vpn.name='vpn' uci set firewall.vpn.input='ACCEPT' uci set firewall.vpn.forward='ACCEPT' uci set firewall.vpn.output='ACCEPT' uci set firewall.vpn.network='tun0' # имя интерфейса в /etc/config/network uci set firewall.vpn.masq='1' # включите это, если нет доступа к настройкам сервера
# Разрешаем пересылку (Forward) между LAN и VPN uci add firewall forwarding uci set firewall.@forwarding[-1].src='lan' uci set firewall.@forwarding[-1].dest='vpn'
uci add firewall forwarding uci set firewall.@forwarding[-1].src='vpn' uci set firewall.@forwarding[-1].dest='lan'
uci commit firewall /etc/init.d/firewall restart
Если не сохраняет настройки
mtd -r erase rootfs_data
Смена MAC у сетевухи
В вебморде luci можно указать в настройках интерфейса нужный MAC
# В вебморде luci можно указать в настройках интерфейса нужный MAC # Но мы меняем через uci :o) uci set network.wan.macaddr="9a:4a:dc:5c:dc:34" uci commit network ifdown lan && ifup lan ifdown wan && ifup wan
Прошивка
- Заходим как SuperUser в http://192.168.1.1 вебморду с паролем SFXX - на наклейке на роутере
- Включаем ssh в расширенных настройках на интерфейсе LAN
- Заходим в ssh SuperUser с паролем SFXX
# tftp 192.168.1.6 -4 -v -m binary -c put openwrt-realtek-rtl819xd-AP-fw.bin SuperUser SJ18F3F18994
Файл прошивки можно взять тут
