The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Два провайдера и default gw в Linux"
Отправлено 1, 27-Сен-11 13:49 
только что осилил. есть 2 провайдера г.Пенза это ПНЗ(МТС-Комстар)(на eth1) и Дом.ру(Эр телеком)(на ppp0)
у пнз 8 мбит у дома 20. сделано доступность по обоим интерфейсам сервисов из интернета и динамическое распределение (!)соединений по каналам при соединении из внутренней сети (eth0) с одинаковой вероятностью на мегабит. к тому же все соединения во внутренние сети каждого провайдера уходят через родной интерфейс (в пнз через линк с пнз в домру через домру). Прововские подсети выбирал ручками с прововских ASок через сайт http://bgp.he.net (если интересно например http://bgp.he.net/AS41754#_asinfo). ipv6 шлюз (от he.net) привязан к пнз.
5 дней копал инет... много чего перепробовал пока не разобрался как должно работать потом только и получилось :). рад до .опы.
все скрипты:
sysctl:
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0

cat /etc/iproute2/rt_tables
#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
10      pnz
20      domru

ip route:
default via 82.209.x.1 dev eth1  metric 100
default via 91.144.144.88 dev ppp0  metric 110
82.209.x.0/24 dev eth1  proto kernel  scope link  src 82.209.x.x
91.144.144.88 dev ppp0  proto kernel  scope link  src 94.181.x.x
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.1

cat /etc/ppp/ip-up.d/routing
#!/bin/sh -e

LOCAL_IP=$4
GATE_IP=$5

#local
ip route flush table domru
ip route add $GATE_IP dev ppp0 src $LOCAL_IP table domru
ip route add default via $GATE_IP table domru
ip route add 192.168.0.0/24 dev eth0 table domru
ip route add 127.0.0.0/8 dev lo table domru
ip rule del table domru priority 15
ip rule add fwmark 2 table domru priority 15
ip route replace default via $GATE_IP dev ppp0 metric 110

exit 0

cat /etc/network/interfaces (тут только часть что относится к прову pnz на eth1)
auto eth1
iface eth1 inet static
  address 82.209.х.х
  netmask 255.255.255.0
  network 82.209.х.0
  broadcast 82.209.х.255
  gateway 82.209.х.1
  post-up /etc/network/config/v4rules (это скрипт фаера, сам скрипт ниже)
  post-up ip route replace 192.168.0.0/24 dev eth0 table pnz
  post-up ip route replace 127.0.0.0/8 dev lo table pnz
  post-up ip route add 82.209.х.1 dev eth1 src 82.209.х.х table pnz
  post-up ip route add default via 82.209.х.1 table pnz
  post-down ip rule delete fwmark 1 lookup pnz priority 10
  post-up ip rule add fwmark 1 lookup pnz priority 10

cat /etc/network/config/v4rules (часть что относится к маршрутизации)
iptables -t mangle -F MARK_CONN
iptables -t mangle -X MARK_CONN

#routing
iptables -t mangle -N MARK_CONN

iptables -t mangle -A MARK_CONN -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A MARK_CONN -d 10.0.0.0/8 -j RETURN

iptables -t mangle -A MARK_CONN -m connmark ! --mark 0 -j RETURN
#povolzhe AS41754
iptables -t mangle -A MARK_CONN -d 91.144.144.0/22 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 91.144.176.0/22 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 94.181.128.0/18 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 109.194.128.0/19 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 188.187.250.0/24 -j CONNMARK --set-mark 2
#perm AS12768
iptables -t mangle -A MARK_CONN -d 46.146.0.0/16 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 46.147.0.0/18 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 79.141.48.0/20 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 92.255.128.0/19 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 92.255.241.0/24 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 188.187.222.0/24 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 188.187.255.0/24 -j CONNMARK --set-mark 2
iptables -t mangle -A MARK_CONN -d 212.33.224.0/19 -j CONNMARK --set-mark 2
#pnz
iptables -t mangle -A MARK_CONN -d 77.108.192.0/18 -j CONNMARK --set-mark 1
iptables -t mangle -A MARK_CONN -d 82.209.64.0/18 -j CONNMARK --set-mark 1
iptables -t mangle -A MARK_CONN -d 85.234.32.0/19 -j CONNMARK --set-mark 1
iptables -t mangle -A MARK_CONN -d 92.246.160.0/19 -j CONNMARK --set-mark 1
iptables -t mangle -A MARK_CONN -d 95.83.64.0/18 -j CONNMARK --set-mark 1
#ipv6
iptables -t mangle -A MARK_CONN -d 216.66.84.46/32 -j CONNMARK --set-mark 1

iptables -t mangle -A MARK_CONN -m connmark ! --mark 0 -j RETURN
iptables -t mangle -A MARK_CONN -j CONNMARK --set-mark 1
iptables -t mangle -A MARK_CONN -m statistic --mode random --probability 0.28 -j RETURN
iptables -t mangle -A MARK_CONN -j CONNMARK --set-mark 2

iptables -t mangle -A PREROUTING -i eth1 -m state --state NEW,RELATED -j CONNMARK --set-mark 1
iptables -t mangle -A PREROUTING -i ppp0 -m state --state NEW,RELATED -j CONNMARK --set-mark 2
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
iptables -t mangle -A OUTPUT -m state --state NEW,RELATED -j MARK_CONN
iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark
iptables -t mangle -A FORWARD -m state --state NEW,RELATED -j MARK_CONN
iptables -t mangle -A FORWARD -j CONNMARK --restore-mark

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру