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

Исходное сообщение
"Как правильно описать DNAT "

Отправлено silent79 , 05-Янв-17 11:20 
Здравствуйте.
Ситуация следующая. Есть 2 компа на одном поднят интернет (статический IP адрес) для раздачи его в локальной сети, а на втором Asterisk. На первом в iptables прописано правило для переадресации портов на второй

iptables -t nat -I PREROUTING -d 0.0.0.0/0 -p tcp --dport 8088 -j DNAT --to-destination 192.168.1.25
iptables -I FORWARD -s 0.0.0.0/0 -d 192.168.1.25 -p tcp  --dport 8088 -j ACCEPT
iptables -t nat -I PREROUTING -d 0.0.0.0/0 -p udp -m multiport --dport 10000:20000,5060 -j DNAT --to-destination 192.168.1.25
iptables -I FORWARD -s 0.0.0.0/0 -d 192.168.1.25 -p udp -m multiport --dport 10000:20000,5060 -j ACCEPT

Таблица маршрутов на втором компе
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.2     0.0.0.0         UG    40     0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth2
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

Все работает замечательно, но стоит поднять интернет (динамический IP) на втором компьютере - все перестает работать

Таблица маршрутов после подключения интернета
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
0.0.0.0         192.168.1.2     0.0.0.0         UG    40     0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth2
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

По статистике ULOG на первом компе видно, что пакеты пытаются уйти на второй комп, а ответа от него нет. Как заставить такую связку работать?


Содержание

Сообщения в этом обсуждении
"Как правильно описать DNAT "
Отправлено олхнтп , 05-Янв-17 13:05 
> По статистике ULOG на первом компе видно, что пакеты пытаются уйти на
> второй комп, а ответа от него нет. Как заставить такую связку
> работать?

мда, таки пошла мода нанимать мальчиков по объявлению ...

читай lartc.org до полного понимания

нужно несколько таблиц маршрутизации на втором компе и умение их готовить


"Как правильно описать DNAT "
Отправлено silent79 , 09-Янв-17 14:26 
>> По статистике ULOG на первом компе видно, что пакеты пытаются уйти на
>> второй комп, а ответа от него нет. Как заставить такую связку
>> работать?
> мда, таки пошла мода нанимать мальчиков по объявлению ...
> читай lartc.org до полного понимания
> нужно несколько таблиц маршрутизации на втором компе и умение их готовить

Это конечно обидно было...
Но все же может кто подскажет как заставить заработать данную систему. Если прописывать маршрут на второй машине к сети из которой пришел запрос то работает, но сетей может быть множество и они динамические.


"Как правильно описать DNAT "
Отправлено Аноним , 09-Янв-17 21:12 
>>> По статистике ULOG на первом компе видно, что пакеты пытаются уйти на
>>> второй комп, а ответа от него нет. Как заставить такую связку
>>> работать?
>> мда, таки пошла мода нанимать мальчиков по объявлению ...
>> читай lartc.org до полного понимания
>> нужно несколько таблиц маршрутизации на втором компе и умение их готовить
> Это конечно обидно было...
> Но все же может кто подскажет как заставить заработать данную систему. Если
> прописывать маршрут на второй машине к сети из которой пришел запрос
> то работает, но сетей может быть множество и они динамические.

Подмена маршрута по умолчанию


"Как правильно описать DNAT "
Отправлено silent79 , 09-Янв-17 21:47 
Я может быть не совсем хорошо описал всю суть проблемы...
1 комп - это шлюз интрнета со статическим внешним IP
2 комп - это сервер Asterisk
С 1 компа на 2ой средствами iptables проброшены порты для работы Asterisk, все работает. Доступ к VoIP происходит и извне.
Но, вот на втором компе пришлось поднять еще один канал интернета и через Squid раздается определенным пользователям в сети.
Поэтому, когда поднят интернет на 2м компе, то доступ извне к VoIP теряется.

Т.е. получается следующая картина: при поднятом инете на 2м компе и при запросе по таким-то портам на 1м компе, первый пересылает эти пакеты на второй, но второй пытается ответить в PPP0, т.к. этот интерфейс в таблице маршрутов первый, а маршрут до первого компа с метрикой 40, и как заставить ответ вернуться туда откуда пришел запрос.

Сегодня бился с SNAT на втором компе, пытаясь завернуть ответ на нужный интерфейс, но что-то неудачно :(


"Как правильно описать DNAT "
Отправлено rusadmin , 10-Янв-17 06:58 
>[оверквотинг удален]
> через Squid раздается определенным пользователям в сети.
> Поэтому, когда поднят интернет на 2м компе, то доступ извне к VoIP
> теряется.
> Т.е. получается следующая картина: при поднятом инете на 2м компе и при
> запросе по таким-то портам на 1м компе, первый пересылает эти пакеты
> на второй, но второй пытается ответить в PPP0, т.к. этот интерфейс
> в таблице маршрутов первый, а маршрут до первого компа с метрикой
> 40, и как заставить ответ вернуться туда откуда пришел запрос.
> Сегодня бился с SNAT на втором компе, пытаясь завернуть ответ на нужный
> интерфейс, но что-то неудачно :(

Еще раз пишу о необходимости покурить маршруты по-умолчанию на второй машине. Подсказка - курите PBR
З.Ы. Аноним - это я писал, лень было с телефона логиниться


"Как правильно описать DNAT "
Отправлено Дум Дум , 10-Янв-17 18:50 
externip: в sip.conf совсем не о том? (http://vkalinin.ru/howto/view/20)

"Как правильно описать DNAT "
Отправлено silent79 , 10-Янв-17 21:13 
> externip: в sip.conf совсем не о том? (http://vkalinin.ru/howto/view/20)

Нет, это совсем не то. Это дело и так настроено, т.к. Asterisk находится за NAT и это работает пока на компе не поднимается PPPoE.