- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую,
Второй день качественно ломаю голову, однако прийти к нужному результату никак не могу, задача изначально казалось весьма тривиальной, но сейчас почему-то выглядит очень странно.
Общие вводные: есть домашний роутер на CentOS, в котором 3 сетевые карты, 2 из них это два разных внешних ISP, одна карта смотрит внутрь сети где расположено еще несколько ПК. Задача звучит достаточно просто, в случае возникновения проблем с ISP #1 надо с тачек внутри локальной сети поднять VPN на роутер и получить через него доступ к ISP #2.
Технические данные:
eth0 - ISP #1 (x.x.x.x/24)
eth1 - LAN (192.168.0.0/24)
eth2 - ISP #2 (y.y.y.y/23)
ПК #1 - 192.168.0.5/24
Изначально, до появления eth2... все было прозаично:
725 71614 SNAT all -- * eth0 192.168.0.0/24 0.0.0.0/0 to:x.x.x.x
При этом был указан единственный возможный маршрут по умолчанию и как бы все работало как видимо и у всех. После появления eth2 я предположил, что мне будет достаточно между ПК #1 и eth1 организовать VPN тунель с дополнительной сеткой (192.168.5.0/24) и добавить такое же SNAT правило, но этого оказалось мало, в SNAT правило для VPN вообще не попадали пакеты.
(Отступлю, pptpd я настроил, соединение устанавливается, обе тачки видят друг друга через сеть 192.168.5.0/24)
Далее по нагугленным документациям я начал делать две раздельные таблицы маршрутизации:
в файл /etc/iproute2/rt_tables прописал 2 таблицы:
101 table_isp1
102 table_isp2
Далее добавил правила в файлы route-eth0
default via x.x.x.x dev eth0 table table_isp1
:route-eth2
default via y.y.y.y dev eth2 table table_isp2
x.x.x.x & y.y.y.y в данном случае GW провайдеров соответственно.
:rule-eth0
to x.x.x.x table table_isp1
from x.x.x.x table table_isp1
:rule-eth2
to y.y.y.y table table_isp2
from y.y.y.y table table_isp2
x.x.x.x & y.y.y.y в данном случае IP адреса интерфейсов на моей стороне.
Собственно эта часть балета заработала, предоставив мне возможность развести запросы на разные ип и отвечать с разных шлюзов, т.е мой домашний роутер стал доступен одновременно через два ISP и я смог откуда угодно на него подключаться.
Теперь пришло время озадачиться SNAT.. А именно поворотом VPN сети в необходимый мне ISP #2 вот тут и пришел полный каюк с которым я до сих пор честно говоря и не разобрался.....
# iptables -L -x -v -n -t nat
Chain PREROUTING (policy ACCEPT 107 packets, 9327 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 9 packets, 826 bytes)
pkts bytes target prot opt in out source destination
23 4072 SNAT all -- * eth0 192.168.0.0/24 0.0.0.0/0 to:x.x.x.x
0 0 SNAT all -- * eth2 192.168.5.0/24 0.0.0.0/0 to:y.y.y.y
Chain OUTPUT (policy ACCEPT 9 packets, 826 bytes)
pkts bytes target prot opt in out source destination
При поднятии VPN в SNAT правило попадает таки трафик, однако ситуация на столько абсурдно выглядит, что я даже затрудняюсь пояснить как это....
1. Запущенный пинг до поднятия VPN и после, качественно меняется (как и должно быть), трасса начинает ходить правильно, однако все сайты если и открываются то через несколько минут..... и не все... и не открываются...
2. Например обращаюсь на !!!! URI !!!! http://onyx.net.ua/ip.php через VPN - отстреливает на ура, а при обращении на !! URI !!! http://onyx.net.ua до апача вообще не доходит запрос.... ?????????
3. tcpdump на роутере показывает какие-то переменные результаты, сначала у меня не смотря на все правила трафик пытался уходить через оба внешних интерфейса.... сейчас же трафик уходит в правильный интерфейс , и возвращается оттуда же, но сайт не грузится и до апача запрос НЕ ДОХОДИТ.
В общем какая-то аномалия либо мега погрешность настройки, уже не могу второй день побороть, подскажите кто что знает и кто чем может как говорится .... :)))))
На всякий случай: Оба ISP по отдельности отлично работают, стоит мне только убрать все ВПН например и перекрутить SNAT + default gw на ISP #2 все начинает летать как и положено.... Однако задача держать одновременно 2 ИСП... без поднятого VPN всех клиентов натить в ISP #1 а с поднятым VPN в ISP #2.
Вопрос закрыт, аномальное поведение вызвано не верно установленным значением MTU для ppp интерфейсов :)
Всем спасибо! :)