Задача: базовая настройка и подключение MikroTik RB951Ui в качестве клиента. Так же необходимо расшарить его внутреннюю сеть, для доступа из других подсетей. Подключаться маршрутизатор будет к существующему серверу OpenVPN через файл client.ovpn
Network -> Interfaces -> LAN (Edit) -> IPv4 address
........
config interface 'lan'
option type 'bridge'
option ifname 'eth1'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.14.1'
option dns '192.168.13.2 192.168.13.15'
........
Опционально можно изменить DNS-сервера для WAN-интерфейса. Получается, что для LAN и WAN можно устаналивать отличные друг от друга DNS-сервера.
Через веб-интерфейс
Network -> Interfaces -> WAN -> Edit -> Advance settings
Use DNS servers advertised by peer - снять галку, и появится поле Custom DNS
Добавляем еще одно поле через "+", и в каждое поле по одному DNS вписываем
192.168.13.2
192.168.13.15
Через консоль
vi /etc/config/network
......
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
option peerdns '0'
option dns '192.168.13.2 192.168.13.15'
.......
Чтобы DHCP выдавал dns-сервера: 192.168.13.2 и 192.168.13.15 переходим в
Interfaces -> LAN -> Edit -> DHCP Server -> Advance settings
И в поле DHCP options вписываем
6,192.168.13.2,192.168.13.15
спереди шестерка - это указатель номера опции DHCP сервера, там их достаточно большое количество. Конкретно кастомные DNS находятся под номером шесть. Поэтому пишем номер нужной фичи, а потом через запятую саму опцию.
vi /etc/config/dhcp
В секции
confg dnsmasq
меняем значение
option domain 'lan'
на
option domain 'example.com'
config wifi-iface
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'Access-point-wifi'
option hidden '0'
option encryption 'psk-mixed'
option key 'Password-of-access-point'
option name 'lan'
list network 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
Настройка hostname, timezone и зажигаем светодиоды в ваших
option ttylogin '0'
option hostname 'office-k'
option zonename 'Europe/Moscow'
config led 'act'
option trigger 'netdev'
option mode 'link tx rx'
option sysfs 'rb:green:act'
option name 'ACT'
option dev 'eth1'
option brightness '0'
config led 'p1'
option trigger 'netdev'
option name 'Port_1'
option sysfs 'rb:green:port1'
option dev 'eth0'
option mode 'link tx rx'
config led 'p2'
option trigger 'switch0'
option name 'Port_2'
option sysfs 'rb:green:port2'
option port_mask '0x10'
option mode 'link tx rx'
config led 'p3'
option name 'Port_3'
option sysfs 'rb:green:port3'
option trigger 'switch0'
option port_mask '0x8'
option mode 'link tx rx'
config led 'p4'
option name 'Port_4'
option trigger 'switch0'
option sysfs 'rb:green:port4'
option port_mask '0x4'
option mode 'link tx rx'
config led 'p5'
option name 'Port_5'
option sysfs 'rb:green:port5'
option trigger 'switch0'
option port_mask '0x2'
option mode 'link tx rx'
config led 'wlan'
option sysfs 'rb:green:wlan'
option name 'WLAN'
option trigger 'phy0tpt'
А чтобы 5-й порт не горел как глаз Терминатора, необходимо выполнить
echo "echo 0 > /sys/class/gpio/gpio2/value" > /lib/preinit/99_POE_Pot5
Включаем автозагрузку (вариант здорового человека)
cat >> /etc/config/network << EOF
Дано: предполагается, что у нас свежеустановленный OpenWRT. Теперь необходимо поставить OpenVPN (если прошивка была собрана вручную с поддержкой openvpn, то это не требуется)
1-й этап - предварительная настройка маршрутизатора:
Обновление списка доступных пакетов. Установка необходимых компонентов
opkg update
opkg install openvpn-openssl
Для удобства в некоторых настройках, лучше установить веб-морду
opkg install luci-ssl
Настройка адреса локальной сети. Кастомные DNS
Изменить адрес самого машрутизатора, и адрес его локальной сети на 192.168.14.0/24
Через веб-интерфейс
И вместе привычного 192.168.1.1 вписываем 192.168.14.1 а диапазон dhcp и другие настройки изменятся автоматом. Надо подождать около минуты, пока все настройки применятся. А после можно уже подключаться по новому адресу к маршрутизатору.
Через консоль
vi /etc/config/network
config interface 'lan'
option type 'bridge'
option ifname 'eth1'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.14.1'
option dns '192.168.13.2 192.168.13.15'
........
Опционально можно изменить DNS-сервера для WAN-интерфейса. Получается, что для LAN и WAN можно устаналивать отличные друг от друга DNS-сервера.
Через веб-интерфейс
Network -> Interfaces -> WAN -> Edit -> Advance settings
Use DNS servers advertised by peer - снять галку, и появится поле Custom DNS
Добавляем еще одно поле через "+", и в каждое поле по одному DNS вписываем
192.168.13.2
192.168.13.15
Через консоль
vi /etc/config/network
......
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
option peerdns '0'
option dns '192.168.13.2 192.168.13.15'
.......
Настройка DHCP сервера
Чтобы DHCP выдавал dns-сервера: 192.168.13.2 и 192.168.13.15 переходим в
Interfaces -> LAN -> Edit -> DHCP Server -> Advance settings
И в поле DHCP options вписываем
6,192.168.13.2,192.168.13.15
спереди шестерка - это указатель номера опции DHCP сервера, там их достаточно большое количество. Конкретно кастомные DNS находятся под номером шесть. Поэтому пишем номер нужной фичи, а потом через запятую саму опцию.
Через консоль
vi /etc/config/dhcp
vi /etc/config/dhcp
........
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv6 'server'
option ra 'server'
option ra_management '1'
list dhcp_option '6,192.168.13.2,192.168.13.15'
.........
Чтобы в качестве локального домена был какой-нибудь example.com вместо lan, редактируемvi /etc/config/dhcp
В секции
confg dnsmasq
меняем значение
option domain 'lan'
на
option domain 'example.com'
Настройка WiFi
Веб-версия
Здесь все понятно и без знаний английского. Стоит только отметить, что по умолчанию маршрутизатор работает в режиме клиента.
Network -> Wireless -> Enable
Консольная версия
vi /etc/config/wireless
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'Access-point-wifi'
option hidden '0'
option encryption 'psk-mixed'
option key 'Password-of-access-point'
Предварительная настройка FireWall
Чтобы работал интернет у клиентов сети 192.168.14.0/24 необходимо изменить правило для зоны lan в firewall.
Веб-версия
Network -> Firewall ->lan (edit: поставить напротив forward - accept), иначе пакеты будут дропаться, и интернет будет только у самого машрутизатора.
Консольная версия
.........
config zoneoption name 'lan'
list network 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
..........
Настройка hostname, timezone и зажигаем светодиоды в ваших сердцах RB951Ui
Веб-вариант смены hostname и timezone
System -> System
Hostname: OpenWRT
и OpenWRT меняем на свой
Timezone можно выбрать из выпадающего списка.
Консольный вариант смены hostname и timezone
vi /etc/config/system
.........
config systemoption ttylogin '0'
option hostname 'office-k'
option zonename 'Europe/Moscow'
.........
Чтобы зажечь светодиоды, необходимо в конец /etc/config/system вставить
option trigger 'netdev'
option mode 'link tx rx'
option sysfs 'rb:green:act'
option name 'ACT'
option dev 'eth1'
option brightness '0'
config led 'p1'
option trigger 'netdev'
option name 'Port_1'
option sysfs 'rb:green:port1'
option dev 'eth0'
option mode 'link tx rx'
config led 'p2'
option trigger 'switch0'
option name 'Port_2'
option sysfs 'rb:green:port2'
option port_mask '0x10'
option mode 'link tx rx'
config led 'p3'
option name 'Port_3'
option sysfs 'rb:green:port3'
option trigger 'switch0'
option port_mask '0x8'
option mode 'link tx rx'
config led 'p4'
option name 'Port_4'
option trigger 'switch0'
option sysfs 'rb:green:port4'
option port_mask '0x4'
option mode 'link tx rx'
config led 'p5'
option name 'Port_5'
option sysfs 'rb:green:port5'
option trigger 'switch0'
option port_mask '0x2'
option mode 'link tx rx'
config led 'wlan'
option sysfs 'rb:green:wlan'
option name 'WLAN'
option trigger 'phy0tpt'
А чтобы 5-й порт не горел как глаз Терминатора, необходимо выполнить
echo "echo 0 > /sys/class/gpio/gpio2/value" > /lib/preinit/99_POE_Pot5
После ребута все линки будут гореть нормально, и без всякого красного.
Watchdog
В случае отвала интернетов и успешного его восстановления, необходимо передернуть сеть. Вариант с watchcat мне не очень нравится, а с документацией по watchdog еще поразбираюсь. Поэтому решением будет таким:
Открываем список заданий в cron (обычно, файл пуст)
crontab -e
Добавляем сточку
* * * * * /root/watchdog.sh
Создаем файл
vi /root/watchdog.sh
с таким вот текстом
#!/bin/ash
tries=0
while [[ $tries -lt 5 ]]
do
if /bin/ping -c 2 8.8.8.8 >/dev/null
then
exit 0
fi
tries=$((tries+1))
done
/etc/init.d/network restart ; /etc/init.d/openvpn restart
exit 0
Не забываем про правушки-муравушки
chmod +x /root/watchdog.sh
Не забываем про правушки-муравушки
chmod +x /root/watchdog.sh
2-й этап - конфигурирование клиентской части OpenVPN
Правка конфигурационного файла демона OpenVPN (console only)
Сохраняем старый файл
mv /etc/config/openvpn /etc/config/openvpn/orig.openvpn
Копируем файл на маршрутизатор:
scp client.ovpn root@192.168.14.1:/etc/openvpn
Создаем новый файл с таким содержанием
vi /etc/config/openvpn
package openvpn
config openvpn cryptn_vpn
# Set to 1 to enable this instance:
option enable 1
# Include OpenVPN configuration
option config /etc/openvpn/client.ovpn
Сохраняем, закрываем.
Включаем автозагрузку (вариант здорового человека)
/etc/init.d/openvpn enable
Запускаем
/etc/init.d/openvpn start
Теперь необходимо добавить интерфейс, чтобы к нему потом применить правила firewall
config interface 'work_ovpn'
option proto 'none'
option ifname 'tun0'
EOF
Добавление новой зоны и назначение правил в ней
cat >> /etc/config/firewall << EOF
Добавление новой зоны и назначение правил в ней
cat >> /etc/config/firewall << EOF
config zone
option name 'ovpn_fw'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option masq '1'
option network 'work_ovpn'
config forwarding
option dest 'ovpn_fw'
option src 'lan'
EOF