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

Исходное сообщение
"Проблема с настройкой переадресации. 2 gateway'я"

Отправлено GeorgeBronsky , 27-Авг-13 15:50 
В общем, ситуация такая. Имеется сервер, Centos 6.4 На сервере 4 сетевые карты подключены. eth0 - локалка. eth1 - в мир, со статичным ip - собственно это наш провайдер. точно так же и eth3 - еще один провайдер со статичным ip.
В локальной сети имеется подключенный DVR. 192.168.0.2
Проблема вот в чем, если по дефолту соединение идет через eth1, т.е. в таблице маршрутизации указан gateway для 1 провайдера, из мира по адрессу xxx.xxx.xxx.xxx:90 открывается dvr и все прекрасно работает, все камеры видно. Если перейти на eth3 тобишь получать интернет от них, НО в маршрутизации создана таблица, где указано, что для eth1 - gateway должен быть их, а для eth3 их, из мира можно достать адрес xxx.xxx.xxx.xxx(адрес eth1) открывается страница centos apache test page, все пашет без проблем, но при обращении к 90 порту на этот же адрес, dvr уже не открывается.

ip ro list
xxx.xxx.83.164/30 dev eth1  proto kernel  scope link  src xxx.xxx.83.166
xxx.xxx.69.156/30 dev eth3  proto kernel  scope link  src xxx.xxx.69.158
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.1
default via xxx.xxx.83.165 dev eth1
В данном случае камеры видны из мира.

iptables status:

service iptables status
Table: mangle
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination
1    MARK       all  --  0.0.0.0/0            0.0.0.0/0           MARK set 0x9

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination

Table: nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination
1    REDIRECT   tcp  --  0.0.0.0/0           !192.168.0.1         multiport dports 80,88,8000,8001,8002,8080 redir ports 3128
2    REDIRECT   udp  --  0.0.0.0/0           !192.168.0.1         multiport dports 80,88,8000,8001,8002,8080 redir ports 3128
3    REDIRECT   tcp  --  0.0.0.0/0           !192.168.0.1         multiport dports 8091,8100,8101,8102,8103,8888,777 redir ports 3128
4    REDIRECT   udp  --  0.0.0.0/0           !192.168.0.1         multiport dports 8091,8100,8101,8102,8103,8888,777 redir ports 3128
5    DNAT       tcp  --  0.0.0.0/0            xxx.xxx.83.166       tcp dpt:90 to:192.168.0.2:90
6    DNAT       tcp  --  0.0.0.0/0            xxx.xxx.83.166       tcp dpt:554 to:192.168.0.2:554
7    DNAT       tcp  --  0.0.0.0/0            xxx.xxx.83.166       tcp dpt:9010 to:192.168.0.2:9010
8    DNAT       udp  --  0.0.0.0/0            xxx.xxx.83.166       udp dpt:90 to:192.168.0.2:90
9    DNAT       udp  --  0.0.0.0/0            xxx.xxx.83.166       udp dpt:554 to:192.168.0.2:554
10   DNAT       udp  --  0.0.0.0/0            xxx.xxx.83.166       udp dpt:9010 to:192.168.0.2:9010

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination
1    MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0           mark match 0x9

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21
8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:25
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:53
11   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:53
12   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:993
13   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:995
14   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:110
15   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:465
16   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3128
17   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     tcp  --  0.0.0.0/0            192.168.0.2         tcp dpt:90
6    ACCEPT     tcp  --  0.0.0.0/0            192.168.0.2         tcp dpt:554
7    ACCEPT     tcp  --  0.0.0.0/0            192.168.0.2         tcp dpt:9010
8    ACCEPT     udp  --  0.0.0.0/0            192.168.0.2         udp dpt:90
9    ACCEPT     udp  --  0.0.0.0/0            192.168.0.2         udp dpt:554
10   ACCEPT     udp  --  0.0.0.0/0            192.168.0.2         udp dpt:9010
11   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

никак не получается разобраться и понять в чем дело... Помогите люди добрые!



Содержание

Сообщения в этом обсуждении
"Проблема с настройкой переадресации. 2 gateway'я"
Отправлено GeorgeBronsky , 27-Авг-13 16:02 
/sbin/ip rule add from xxx.xxx.83.166 dev eth1 table 10
/sbin/ip route add default via xxx.xxx.83.165 dev eth1 table 10  --- это gateway eth1
/sbin/ip route flush cache
/sbin/ip route del default
/sbin/ip route add default via xxx.xxx.69.157         --- это та самая eth3 gateway

При этих настройках, т.е. интернет получаем уже от 2 провайдера, можно достать адрес xxx.xxx.83.166 - centos test page. тобишь доступ есть к серверу из мира к интерфейсу eth1, но при обращении к xxx.xxx.83.166:90 доступа уже нет.


"Проблема с настройкой переадресации. 2 gateway'я"
Отправлено ALex_hha , 29-Авг-13 23:48 
http://sys-adm.org.ua/net/smart-dnat

возможно поможет


"Проблема с настройкой переадресации. 2 gateway'я"
Отправлено GeorgeBronsky , 30-Авг-13 10:58 
> http://sys-adm.org.ua/net/smart-dnat
> возможно поможет

Отличная статья, Спасибо!


"Проблема с настройкой переадресации. 2 gateway'я"
Отправлено Mirage_sk , 30-Авг-13 00:29 
>[оверквотинг удален]
> /sbin/ip route add default via xxx.xxx.83.165 dev eth1 table 10  ---
> это gateway eth1
> /sbin/ip route flush cache
> /sbin/ip route del default
> /sbin/ip route add default via xxx.xxx.69.157      
>   --- это та самая eth3 gateway
> При этих настройках, т.е. интернет получаем уже от 2 провайдера, можно достать
> адрес xxx.xxx.83.166 - centos test page. тобишь доступ есть к серверу
> из мира к интерфейсу eth1, но при обращении к xxx.xxx.83.166:90 доступа
> уже нет.

default route у одного хоста только одиин. Надо выбрать один интерфейс для дефаулт роута,а для двух остальных надо прописать статические маршруты. Во второйй строке помимо дефааулт гейтвея вы еще и указываете интерфейс, что вы не делаете в последней строке. Покажите поз результаты команды
route -n
Кстате, параметр default gateway указывается в конфиге интерфейса(как вам уже известно), а в последней команде вы указываете что поменялся шлюз по умолчанию, но при этом не говорите, через какой интерфесэйс надо ходить. Ваша машина ищет хост ххх.ххх.69.157 но при этом он ходит через eth1 а не eth3 (если ваши старания правильно понял).

Если вы напишите задачу, что именно вы хотите сделать, постараюсь написать более исчерпывающий ответ.
С уважением!

Ссори, лезу из телефона не увиделвсю тему целиком.
Значит так:

по дефолту мы ходим через eth1 к пров1.
Надо прописать статику следующим образом:
route add xxx.xxx.xxx (публичный адрес подсети, кому даем доступ на DVR) 255.255.255.xxx маска той подсети) gw xxx.xxx.69.157 (пров3)via eth3 (Х тот интерфейс, где подключен линк для сети ххх.ххх.69.157). то есть к нужной внешней подсети ходем через пров3 по интерфейсу eth3.

По моему все смог описать по человечески :)


"Проблема с настройкой переадресации. 2 gateway'я"
Отправлено Mirage_sk , 30-Авг-13 09:45 
>[оверквотинг удален]
> С уважением!
> Ссори, лезу из телефона не увиделвсю тему целиком.
> Значит так:
> по дефолту мы ходим через eth1 к пров1.
> Надо прописать статику следующим образом:
> route add xxx.xxx.xxx (публичный адрес подсети, кому даем доступ на DVR) 255.255.255.xxx
> маска той подсети) gw xxx.xxx.69.157 (пров3)via eth3 (Х тот интерфейс, где
> подключен линк для сети ххх.ххх.69.157). то есть к нужной внешней подсети
> ходем через пров3 по интерфейсу eth3.
> По моему все смог описать по человечески :)

А что за хост 192.168.0.2?


"Проблема с настройкой переадресации. 2 gateway'я"
Отправлено GeorgeBronsky , 30-Авг-13 10:59 
Это собственно и есть двр подключенный в локалке =)



"Проблема с настройкой переадресации. 2 gateway'я"
Отправлено GeorgeBronsky , 30-Авг-13 10:59 
Более чем =) благодарю за внимание и помощь!