Перейти к содержанию
Форум Челябинских Автомобилистов

администраторам линукс вопрос


Рекомендуемые сообщения

вобщем ситуевина...

есть сервак1 крутится squid вся контора ходит через него

на сервак1 три сетевухи:

1. АДСЛ 1

2. локалка

3. АДСЛ 2

все три сетевухи в разных подсетях...естественно

текущая работа

в сети 3 есть еще один сервак2 со сквидом

народ ходит так:

юзер -> сервак1 -> сервак2 -> АДСЛ2

почему так... потому как есть еще маскарадинг, он должен идти через АДСЛ1 и маршруты не могу поменять на адсл2

тоесть шлюз по умолчанию должен быть АДСЛ1

т.к. СИ часто роняет интернет, а я хочу в отпуск :) нужно сделать систему автономную по поддержанию в рабочем режиме надежного интернета

цель: создать скрипт который будет проверять живость канала 1 и 3, при невозможности скачать файл через путь сервак1 -> сервак2 -> АДСЛ 2 будет принимать решение, что перегружать...

 

 

вроде бы стандартная схема... НО,

какой указать ДНС ? АДСЛ1 или АДСЛ2 ? от этого будет работа сквида, либо будет, либо нет :)

 

мысли у меня следующие, проверять живость сквид2 (качать файл через него) если работает, ниче не делать...

если не качает, как то с машины сервак1 проверить канал АДСЛ2 (честно не могу понять, они в одной подсети, но как проверить интернет, если шлюз по умолчанию АДСЛ1, не знаю :( )

вобщем после проверки АДСЛ2 можно залогиниться на сервак2 и перегрузить сквид (раз файл не идет, значит сквид косячит)

 

если же АДСЛ2 не работает то нужно переконфигурить сервак1 для использования АДСЛ1 напрямую (это элементарно, сделаю)

 

Я логику понять не могу... что вперед проверять, а что нет, ну и может кто подскажет как наваять на шеле скрипт, если надо то что я уже наделал, покажу тут...

Ссылка на комментарий
Поделиться на другие сайты

в чем вопрос то ? какие повайдеры ? цель мероприятия ? и вообще что за партизан так умудрился создать тему ? Изменено пользователем Oberon
Ссылка на комментарий
Поделиться на другие сайты

в чем вопрос то ? какие повайдеры ? цель мероприятия ? и вообще что за партизан так умудрился создать тему ?

Странно, вопрос мой удалился... я востановил, вопрос остается в силе :)

провайдер один и тот и другой СИ... падают линки не всегда разом, посему перепрыгивать нуна

 

наваял я вот что...

на серваке2 (т.к. это основной канал)

сделал запуск в кроне следующий скрипт:

#!/bin/bash
 if  ping -q -c3 195.54.2.1 > /dev/null || ping -q -c3 212.57.145.253 > /dev/null 
 
 then 
 echo "$? значит DNS Utel работает"
	 echo "нужно качать файлик снаружи через прокси"
	 if wget -Y off www.whatismyip.com/automation/n09230945.asp -O - 2> /dev/null && echo
	 then 
	 echo "напрямую качнули, пробуем сквид"
		 if wget -Y on www.whatismyip.com/automation/n09230945.asp -O - 2> /dev/null && echo
		 then 
		 echo "работает через прокси"
			 else 
			 echo "не работает прокси - перегруз сквида"
		 squid -k reconfigure
		 rm /media/80/homeInetOff.txt
		 fi
	 else 
	 echo "НЕ работает снаружи"
	 echo "перегружаем модем"
	 fi
 
 else 
 #echo "не работает link ADSL"
 #echo "перегружаем модем"
 fi
 exit

на первом серваке тож в кроне 4 минуты

if test -s /media/80/homeInetOff.txt
 then 
 echo "интернета немая"
 cp /etc/squid/acl.parent_direct.conf /etc/squid/acl.parent.conf
 squid -k reconfigure
 
 else 
 echo "интернет есть"
 cp /etc/squid/acl.parent_parent.conf /etc/squid/acl.parent.conf
 squid -k reconfigure
 fi
 
 exit
для справки, файл /media/80/homeInetOff.txt видится на обоих серваках !

 

Может кто подскажет оптимальность ?

Ссылка на комментарий
Поделиться на другие сайты

на сервак1 три сетевухи:

...

3. АДСЛ2

сервак1 -> сервак2 -> АДСЛ2

Чё-то непонятно - таки где АДСЛ2?
Ссылка на комментарий
Поделиться на другие сайты

Чё-то непонятно - таки где АДСЛ2?

завтра накидаю схему :)

скажу так у сервак1 адресация в сети АДСЛ2 и СЕРВАК2 тоесть эти ТРИ точки в одной сети

но сервак2 выступает парентом для сервак1 (чтобы не рушить маршрутизацию)

Ссылка на комментарий
Поделиться на другие сайты

завтра накидаю схему :)

скажу так у сервак1 адресация в сети АДСЛ2 и СЕРВАК2 тоесть эти ТРИ точки в одной сети

но сервак2 выступает парентом для сервак1 (чтобы не рушить маршрутизацию)

А, въехал.

 

если не качает, как то с машины сервак1 проверить канал АДСЛ2 (честно не могу понять, они в одной подсети, но как проверить интернет, если шлюз по умолчанию АДСЛ1, не знаю)

"ping -s <сетевуха АДСЛ2> ..." ? Изменено пользователем Magister
Ссылка на комментарий
Поделиться на другие сайты

"ping -s ..." ?

помню, помню.. -s это source интерфейс...

но вот что-то туплю, ПОЧЕМУ НЕ ПАШЕТ ? :(

Ниже СЕРВЕР1

На ИП не обращайте внимание, если будут неправильные, часть адресов сетей заменил для поста сюда.... это примерные адреса.

вот 192.168.2.2 - интерфейс АДСЛ1

172.30.1.2 - локалка (юзеры отседа ходят)

192.168.150.193 - интерфейс АДСЛ2

 

ip route
192.168.150.192/27 dev eth2  proto kernel  scope link  src 192.168.150.193 
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.2 
172.30.1.0/24 dev eth1  proto kernel  scope link  src 172.30.1.2 
default via 192.168.2.1 dev eth0
Тоесть шлюз идет на интерфейс АДСЛ1

вот результат

 

ping -s 192.168.150.193 195.54.2.1 
PING 195.54.2.1 (195.54.2.1) 192(220) bytes of data.
^C
--- 195.54.2.1 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4050ms

это я пинговал когда уронил АДСЛ1

если АДСЛ1 поднят, то пинги идут как ни в чем не бывало через шлюз 2.1 (предпологаю)

 

аааа

-S Set socket sndbuf. If not specified, it is selected to buffer not more than one packet.

но все равно не идет :(

 

 

Блин, пробовал и -I eth2

все равно... где косяк не пойму :(

Ссылка на комментарий
Поделиться на другие сайты

ping -s 192.168.150.193 195.54.2.1 
PING 195.54.2.1 (195.54.2.1) 192(220) bytes of data.
^C
--- 195.54.2.1 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4050ms
это я пинговал когда уронил АДСЛ1

если АДСЛ1 поднят, то пинги идут как ни в чем не бывало через шлюз 2.1 (предпологаю)

А что говорит traceroute -s 192.168.150.193 195.54.2.1 ?
Ссылка на комментарий
Поделиться на другие сайты

А что говорит traceroute -s 192.168.150.193 195.54.2.1 ?

traceroute -s 192.168.150.193 195.54.2.1
traceroute to 195.54.2.1 (195.54.2.1), 30 hops max, 40 byte packets
 1  * * *
 2  * * *
 *^C

это я тож пробовал...

фаервол тормозил (для чистоты эксперимента)

как то можно два маршрута прописать с разными метриками ?

или я что-то недогоняю ?

 

Кароче где то ошибка... потому как когда маршруты меняю на дефолтный через второй канал, то почему то перестает работать НАТ... хотя тут может ошибка как раз в фаерволе (нуна менять все правила тогда)

Ссылка на комментарий
Поделиться на другие сайты

Делал такое. Сейчас голова туго варит с утра. Попозже напишу. На АДСЛ какое оборудование стоит ?
Ссылка на комментарий
Поделиться на другие сайты

Делал такое. Сейчас голова туго варит с утра. Попозже напишу. На АДСЛ какое оборудование стоит ?

да обычные модемы, АДСЛ1 Зюхель, АДСЛ2 перешитый в Длинк

а какая разница в оборудовании ?

Ссылка на комментарий
Поделиться на другие сайты

traceroute -s 192.168.150.193 195.54.2.1
traceroute to 195.54.2.1 (195.54.2.1), 30 hops max, 40 byte packets
 1  * * *
 2  * * *
 *^C
это я тож пробовал...
а с поднятым АДСЛ1 чего пишет? Через что всё-таки идёт?

 

И ещё. С сервера2 при этом идут пинги через АДСЛ2 ?

 

Я так понимаю, маршрут для 192.168.150.193 должен быть через сервер2?

Ссылка на комментарий
Поделиться на другие сайты

а с поднятым АДСЛ1 чего пишет? Через что всё-таки идёт?

 

И ещё. С сервера2 при этом идут пинги через АДСЛ2 ?

 

Я так понимаю, маршрут для 192.168.150.193 должен быть через сервер2?

1. трасерты пускал при поднятых обоих адслях :)

2. с сервера2 пинги идут (в инет то ходит он, вернее его прокся)

3. маршруты я писал уже...

 

Сетка АДСЛ2 192.168.150.192/27 dev eth2 proto kernel scope link src 192.168.150.193

Сетка АДСЛ1 192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.2

Локалка 172.30.1.0/24 dev eth1 proto kernel scope link src 172.30.1.2

ип адреса соответственно этому на сервере1 указаны в последней колонке (192.168.150.193, 192.168.2.2, 172.30.1.2 )

Ип адслеф :)

192.168.150.200

192.168.2.1

 

 

ситуация такая, если не брать во внимание сервер2

то выглядит схема следующим образом

в сервера1 три сетевки, локалка и два АДСЛя.

 

чую трабла в серваке :(

раньше фря стояла, все было в ажуре...

Ссылка на комментарий
Поделиться на другие сайты

Разница в модемах в том, что если бы была хоть одна циска, то можно было бы поднять все на ней не маясь с серваком.

На сколько я понимаю используется один канал, второй идет как резервный ? Если так, то задача гораздо проще решается, если АДСЛ модемы перевести в режим моста, а PPPoE сесию поднимать на сервере. MPD или MPD4 для этих целей вполне подойдет. При падении канала или прочих неприятностях падает PPPoE сессия, как результат MPD прогоняет скрипт, который меняет маршруты/natd и т.п. Все это делал на FreeBSD, но думаю прокатит и на Линуксе. Надеюсь речь не шла про виндовый сервер.

Ссылка на комментарий
Поделиться на другие сайты

Разница в модемах в том, что если бы была хоть одна циска, то можно было бы поднять все на ней не маясь с серваком.

На сколько я понимаю используется один канал, второй идет как резервный ? Если так, то задача гораздо проще решается, если АДСЛ модемы перевести в режим моста, а PPPoE сесию поднимать на сервере. MPD или MPD4 для этих целей вполне подойдет. При падении канала или прочих неприятностях падает PPPoE сессия, как результат MPD прогоняет скрипт, который меняет маршруты/natd и т.п. Все это делал на FreeBSD, но думаю прокатит и на Линуксе. Надеюсь речь не шла про виндовый сервер.

название темы глянь :)

сервера на ubuntu

трабла в том что обе PPPoE на одном серваке нельзя поднимать, просто нельзя, не вдаваясь подробности :)

 

мало того, эти модемы территориально разделены на расстоянии 2 километров, но это не столь важно...

сегодня скрипты работали... посмотрим что даст полет на несколько дней... при падении интернета спецом смотрю как будет работать, и не поднимаю вручную :)

выяснилось что squid не нравится обрыв и смена ИП, не знаю почему, хотя внешний IP выдается модему, а не серваку....

но при падении и поднятии модема (инета) сквид 504 ошибку выдает пользователю... пока ему не сделаешь реконфигуре :(

Ссылка на комментарий
Поделиться на другие сайты

Я делал проще. Создавал два скрипта.

Первый - проверяет наличие инета на обоих провах (кстати, использую ТРИ таблицы маршрутизации, без этого два прова нормально работать не будут). Результатом первого есть текстовые файлы. Точнее, если определенный файл есть - значит этого канала нету. В этом файле (для себя) пишу время работы крона.

Второй скрипт проверяет наличие файлов и запускает соответствующие файлики с маршрутизацией и настройкой брендмауэра.

Кста, с метриками у меня тоже не получилось, т.к. я поднимаю оба рррое, и вариантов не работающего интернета есть несколько: нету соответствующего интерфейса, интерфейс есть, но дается айпишник вида 172.ххх.ххх.ххх.

З.Ы.: моему сквиду как - то пофиг, он все время идет на маршрут по умолчанию. В конфиге не прописан жесткий интерфейс, с которого работать. И он продолжает работать, даже есть основной маршрут сменился.

Если надо, могу скинуть свои наработки. )

Ссылка на комментарий
Поделиться на другие сайты

Я делал проще. Создавал два скрипта.

Первый - проверяет наличие инета на обоих провах (кстати, использую ТРИ таблицы маршрутизации, без этого два прова нормально работать не будут). Результатом первого есть текстовые файлы. Точнее, если определенный файл есть - значит этого канала нету. В этом файле (для себя) пишу время работы крона.

Второй скрипт проверяет наличие файлов и запускает соответствующие файлики с маршрутизацией и настройкой брендмауэра.

Кста, с метриками у меня тоже не получилось, т.к. я поднимаю оба рррое, и вариантов не работающего интернета есть несколько: нету соответствующего интерфейса, интерфейс есть, но дается айпишник вида 172.ххх.ххх.ххх.

З.Ы.: моему сквиду как - то пофиг, он все время идет на маршрут по умолчанию. В конфиге не прописан жесткий интерфейс, с которого работать. И он продолжает работать, даже есть основной маршрут сменился.

Если надо, могу скинуть свои наработки. )

Кидай конечно... может что в своих скриптах попарвлю поумней ;)
Ссылка на комментарий
Поделиться на другие сайты

скриптов нету..

я сделал, но понимаю что не оптимально... сеня ухожу в отпуск... посмотрим, будут звонить или нет :)

Ссылка на комментарий
Поделиться на другие сайты

Сорри, время сафсем не было.

Вот, выкладываю. Если нужны комменты - потом сделаю.

И, кстати, может завести админам отдельную тему с вопросами, скриптами, конфигами и прочей нечестью???

(от этих скриптов отказался, щас ручками переключаю)

З.Ы.: Сорри, что все в сборе... выбирать времени нету (((

З.З.Ы.: Кста, кому надо... в принципе, иногда бывает свободное время, могу и помочь с конфигурацией какой - нить очередной шляпы. Например, сегодня победил Microsoft Office Communication Server 2007 ))

cars_script.zip

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Сейчас на странице   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...