URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 19056
[ Назад ]

Исходное сообщение
"2 внешних ip с одинаковым шлюзом + сеть, проблема маршрутизации"

Отправлено spoilt21 , 11-Июн-09 23:04 
Прошу помочь, очень много намучался, не получается, могу заплатить за помощь если надо, правда не очень много) в данный момент есть 8 вмз))
________________________________

Описание структуры:
ось debian lenny последний + ispcp(врядли это важно)

1. 2 внешних ip от 1 провайдера > 78.26.189.189(eth1) и 78.26.189.220(eth0) их гейтвей 78.26.188.1
2. впн сервер > (192.168.0.*)
3. вебсервер с днс > надо чтоб со внешки оба внешних ip были видны и пакеты ходили нормально
4. домашняя сеть > 192.168.0.* (eth2) Ещё на 192.168.0.3 форвардятся некоторые порты с 78.26.189.220
При падении интернет перестает бегать и по впн извне и по дому
________________________________

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

________________________________
Мой конфиг, когда то нашел на вашем форуме и переделал под свои нужды

ip route flush cache
    echo 0 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -d 78.26.189.220 -m multiport --dports 10021,5190,411,443,34000,34001,6667,3783,27005,27015,27900,28900,29900,29901 -j DNAT --to-destination 192.168.0.3
iptables -t nat -A PREROUTING -p udp -d 78.26.189.220 -m multiport --dports 10021,5190,411,443,34000,34001,6667,3783,27005,27015,27900,28900,29900,29901 -j DNAT --to-destination 192.168.0.3
    iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
    iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
    iptables -t mangle -A INPUT -i eth1 -j CONNMARK --set-mark 0x200
    iptables -t mangle -A OUTPUT -m connmark --mark 0x200 -j MARK --set-mark 0x200
ip ru add from 78.26.189.220 to 192.168.0.0/24 table main prio 100
ip ru add from 78.26.189.189 to 192.168.0.0/24 table main prio 101
ip rule add pref 10001 fwmark 0x200 table T2
ip rule add pref 10002 from 78.26.189.189 table T2
ip route add default via 78.26.188.1 dev eth1 table T2
ip route add default via 78.26.188.1 dev eth0
    echo 1 >/proc/sys/net/ipv4/ip_forward


________________________________
Приношу извинения если я что то описал не так итд., пишу на форум со своей проблемой впервые в жизни, чувство себя тупой блондинкой =/


может кто-то поможет исправить этот скрипт или покажет аналог а?)
p.s. я дам деньги за решение проблемы даже если тут какой то пустяк 1 секундный)
Кстати по желанию можете написать и в асю 738004 а я уже при полном решении проблемы выложу тут результат, дабы люди гуглили)


Содержание

Сообщения в этом обсуждении
"2 внешних ip с одинаковым шлюзом + сеть, проблема маршрутиза..."
Отправлено reader , 12-Июн-09 13:41 
так а что отваливается?

; <<>> DiG 9.5.0-P2 <<>> spoilt.elaninet.com ANY
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12416
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2

;; QUESTION SECTION:
;spoilt.elaninet.com.           IN      ANY

;; ANSWER SECTION:
spoilt.elaninet.com.    85117   IN      A       78.26.189.220

;; AUTHORITY SECTION:
elaninet.com.           84959   IN      NS      ns.elaninet.com.
elaninet.com.           84959   IN      NS      ns3.elaninet.com.
elaninet.com.           84959   IN      NS      ns.secondary.net.ua.

;; ADDITIONAL SECTION:
ns.elaninet.com.        84983   IN      A       195.245.118.2
ns.secondary.net.ua.    21593   IN      A       195.149.112.1

;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jun 12 13:35:27 2009
;; MSG SIZE  rcvd: 153


Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   spoilt.elaninet.com
Address: 78.26.189.220

Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find www.spoilt.elaninet.com: NXDOMAIN

DNS у провайдера, я так понимаю, и не о каких www.spoilt.elaninet.com ему не извесно


"2 внешних ip с одинаковым шлюзом + сеть, проблема маршрутиза..."
Отправлено spoilt21 , 12-Июн-09 22:25 
провайдера днс: 195.245.118.2
я использую в сети днс: 192.168.0.1 (тобишь сервак)

всё работает норм но переодически отваливается раздача инета в сеть и на впн

>DNS у провайдера, я так понимаю, и не о каких www.spoilt.elaninet.com ему
>не извесно

должно быть известно, кстати в данный момент  78.26.189.220 подключен к виндовому компу, чтоб в инет попасть


"2 внешних ip с одинаковым шлюзом + сеть, проблема маршрутиза..."
Отправлено reader , 12-Июн-09 23:13 
>провайдера днс: 195.245.118.2
>я использую в сети днс: 192.168.0.1 (тобишь сервак)
>
>всё работает норм но переодически отваливается раздача инета в сеть и на
>впн

по такому описанию ни кто ни чего не подскажет. на шлюзе при этом инет остается?
шлюз провайдера пингуется? DNS работает?
>
>
>
>>DNS у провайдера, я так понимаю, и не о каких www.spoilt.elaninet.com ему
>>не извесно
>
>должно быть известно, кстати в данный момент  78.26.189.220 подключен к виндовому
>компу, чтоб в инет попасть

у провайдера должен быть прописан веб сервер? или он у вас внутри и прописан на внутреннем DNS?
для eth1 , на всякий случай, SNAT тоже бы прописали бы.


"2 внешних ip с одинаковым шлюзом + сеть, проблема маршрутиза..."
Отправлено spoilt21 , 14-Июн-09 19:40 
ещё раз добрый день, проблема решена с помощью инструкции по адресу:
http://www.opennet.me/base/net/debian_multilink.txt.html

по правде говоря скрипт был перекручен и доработан, а ещё в нем присутствовали ошибки глупые, думаю автор их сделал умышленно дабы заставить людей перечитать скрипт целиком)

моя рабочая версия:
#!/bin/sh
iptables -t nat -F
iptables -t mangle -F

iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.0.0/16 -j MARK --set-mark 10
iptables -t mangle -A INPUT -i eth1 -j MARK --set-mark 10
iptables -t mangle -A OUTPUT -m connmark --mark 10 -j MARK --set-mark 10

iptables -t mangle -A PREROUTING -s 192.168.1.0/24 -d ! 192.168.0.0/16 -j MARK --set-mark 11
iptables -t mangle -A INPUT -i eth1 -j MARK --set-mark 11
iptables -t mangle -A OUTPUT -m connmark --mark 11 -j MARK --set-mark 11

iptables -t nat -A POSTROUTING -m mark --mark 10 -j MASQUERADE
iptables -t nat -A POSTROUTING -m mark --mark 11 -j MASQUERADE


ip route flush table T1            
ip route flush table T2            

ip route add 78.26.188.0/24 dev eth1 src 78.26.189.189 table T1    
ip route add 192.168.0.0/16 dev eth2 table T1            
ip route add 78.26.188.0/24 dev eth0 src 78.26.189.220 table T1            
ip route add 127.0.0.0/8 dev lo table T1            
ip route add default via 78.26.188.1 dev eth1 table T1            

ip route add 78.26.188.0/24 dev eth0 src 78.26.189.220 table T2    
ip route add 192.168.0.0/16 dev eth2 table T2            
ip route add 78.26.188.0/24 dev eth1 src 78.26.189.189 table T2            
ip route add 127.0.0.0/8 dev lo   table T2            
ip route add default via 78.26.188.1 dev eth0 table T2            

ip route add 78.26.188.0/24 dev eth1 src 78.26.189.189    
ip route add 78.26.188.0/24 dev eth0 src 78.26.189.220    
            

ip rule delete table T1        
ip rule delete table T2        
ip rule delete table T1        
ip rule delete table T2        

ip rule add from 78.26.189.189 table T1    
ip rule add from 78.26.189.220 table T2    

ip rule add fwmark 10 table T1    
ip rule add fwmark 11 table T2    

ip route flush cache    
echo 1 >/proc/sys/net/ipv4/ip_forward
    

exit 0

Файл интерфейсов:

auto lo
iface lo inet loopback

#local
auto eth2
iface eth2 inet static
address 192.168.0.1
netmask 255.255.0.0
network 192.168.0.0
broadcast 192.168.255.255

#inet 1
auto eth1
iface eth1 inet static
address 78.26.189.189
netmask 255.255.254.0
gateway 78.26.188.1
network 78.26.188.0
broadcast 78.26.189.255

#inet 2
auto eth0
iface eth0 inet static
address 78.26.189.220
netmask 255.255.254.0
       gateway 78.26.188.1
network 78.26.188.0
broadcast 78.26.189.255


"2 внешних ip с одинаковым шлюзом + сеть, проблема маршрутиза..."
Отправлено georglk , 20-Авг-09 19:07 
у меня на строке
ip route add 78.26.188.0/24 dev eth1 src 78.26.189.189
(адреса понятное дело, свои :-))
выдает ошибку
RTNETLINK answers: File exists
Как с этим боротся?

"2 внешних ip с одинаковым шлюзом + сеть, проблема маршрутиза..."
Отправлено Scorp , 18-Ноя-09 07:15 
>ещё раз добрый день, проблема решена с помощью инструкции по адресу:
>http://www.opennet.me/base/net/debian_multilink.txt.html
>
>по правде говоря скрипт был перекручен и доработан, а ещё в нем
>присутствовали ошибки глупые, думаю автор их сделал умышленно дабы заставить людей
>перечитать скрипт целиком)
>
>моя рабочая версия:...

Чет не сильно понятно: сначало вы делаете маршрутизацию по портам назначения, а потом стали по направлениям маршрутизировать. Передумали чтоли ? :)



"2 внешних ip с одинаковым шлюзом + сеть, проблема маршрутиза..."
Отправлено ASMINT , 11-Янв-10 12:35 
>[оверквотинг удален]
>>http://www.opennet.me/base/net/debian_multilink.txt.html
>>
>>по правде говоря скрипт был перекручен и доработан, а ещё в нем
>>присутствовали ошибки глупые, думаю автор их сделал умышленно дабы заставить людей
>>перечитать скрипт целиком)
>>
>>моя рабочая версия:...
>
>Чет не сильно понятно: сначало вы делаете маршрутизацию по портам назначения, а
>потом стали по направлениям маршрутизировать. Передумали чтоли ? :)