Posiadam MikroTik CRS125-24G-1S-IN
Przywróciłem ustawienia fabryczne bez użycia standardowych ustawień. Następnie skonfigurowałem go jak napisałem poniżej, pomijając niektóre szczegóły.
Obecnie do portu ether1 podłączony jest nowy dostawca przez pon mediak z prędkością 1 gigabit.
Porty od 2 do 16 są połączone w mostek, na nich skonfigurowany jest serwer dhcp. Pozostałe porty są obecnie nieużywane i nieaktywne.
Stosowane są proste kolejki do poszczególnych adresów ip ograniczając ich prędkość do 50M/50M. A dla całego zakresu adresów ip istnieje wspólna zasada, która ogranicza prędkość do 20M/20M.
W firewallu jest jedna zasada fasttrack, aby prędkość na ip 192.168.88.21 nie była ograniczana.
Do monitorowania w bocie telegram sprawdzam, czy wszystko działa z skryptu, który został dodany do harmonogramu. Dodaję skrypt.
:local botToken "-------:AAGmvhHsqEХХХХХХХХХХХХХХХХХfw"
:local chatID "--------"
:local pingResult [:len [/ping 8.8.8.8 count=3]]
:if ($pingResult = 0) do={
:log info "Brak połączenia z internetem, restartowanie klienta DHCP na ether1."
/interface dhcp-client disable ether1
:delay 5s
/interface dhcp-client enable ether1
:delay 5s
:local message "MikroTik: dhcp na ether1 zrestartowany."
/tool fetch url="https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatID&text=$message" keep-result=no
} else={
:log info "Internet działa, brak potrzeby działania."
:local message "MikroTik: ping do 8.8.8.8 ok"
/tool fetch url="https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatID&text=$message" keep-result=no
}
:local domain "google.com"
:local resolvedIP
:do {
:set resolvedIP [:resolve $domain]
} on-error={
:set resolvedIP ""
}
:if ($resolvedIP = "") do={
:log warning "Nie można rozwiązać IP dla $domain"
:local message "MikroTik: Brak IP dla $domain. Zrestartowano dhcp na ether1."
/tool fetch url="https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatID&text=$message" keep-result=no
/interface dhcp-client disable ether1
:delay 3s
/interface dhcp-client enable ether1
:delay 3s
} else={
:log info "DNS dla $domain OK, brak potrzeby działania."
:local message "MikroTik: DNS do $domain OK"
/tool fetch url="https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatID&text=$message" keep-result=no
}W netwatch dodano monitorowanie węzłów w sieci po ip. Aby podobnie jak w powyższym skrypcie wiedzieć, kiedy i co w sieci się wyłącza lub włącza.
PROBLEM
Każdego dnia w jednym i tym samym okresie czasu od 15:30 do różnie od 16:00 do 19:30 internet przestaje działać stabilnie.
A dokładnie ping do 8.8.8.8 może działać, ale ResolveIP google.com nie jest wykonywane. To znaczy, że w wiadomościach w bocie widzę, kiedy ResolveIP nie jest wykonywane, to może trwać różnie od 10 minut do godziny, czasami wszystko działa dobrze, a potem znowu znika. Przy tym znika również ping do 8.8.8.8, co również trwa do 20 minut. Jak widzicie, restartuję port ether1, gdy to się zdarza. Robię to, ponieważ kiedy byłem na miejscu w momencie wystąpienia tych problemów, to przez winbox podłączyłem się do mikrotyka ręcznie, wyłączyłem port i włączyłem, a problem znika. Może pojawić się już następnego dnia w tym samym okresie.
Co próbowaliśmy zrobić:
Dostawca powiedział, żebym zmienił adres mac na ether1 - zrobiłem. Nic się nie zmieniło.
Optika została przelutowana zarówno po mojej stronie, jak i po stronie dostawcy.
Port WAN próbowałem zmienić na ether24 - nie pomogło.
Próbowałem z mikrotyka zrobić głupi switch i wyłączyłem wszystko inne, a internet podawałem mu przez zwykły router, który przejął funkcję DHCP dla sieci, ale bez jakichkolwiek ograniczeń prędkości itp. Po prostu na routerze asus 100 megabitowym nie wystąpiły takie problemy. Internet nie znikał przez kilka dni. Kiedy przywróciłem mikrotyka, wszystko wróciło z problemem.