Здравствуйте.
Ситуация следующая. Есть 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 на первом компе видно, что пакеты пытаются уйти на второй комп, а ответа от него нет. Как заставить такую связку работать?
> По статистике ULOG на первом компе видно, что пакеты пытаются уйти на
> второй комп, а ответа от него нет. Как заставить такую связку
> работать?мда, таки пошла мода нанимать мальчиков по объявлению ...
читай lartc.org до полного понимания
нужно несколько таблиц маршрутизации на втором компе и умение их готовить
>> По статистике ULOG на первом компе видно, что пакеты пытаются уйти на
>> второй комп, а ответа от него нет. Как заставить такую связку
>> работать?
> мда, таки пошла мода нанимать мальчиков по объявлению ...
> читай lartc.org до полного понимания
> нужно несколько таблиц маршрутизации на втором компе и умение их готовитьЭто конечно обидно было...
Но все же может кто подскажет как заставить заработать данную систему. Если прописывать маршрут на второй машине к сети из которой пришел запрос то работает, но сетей может быть множество и они динамические.
>>> По статистике ULOG на первом компе видно, что пакеты пытаются уйти на
>>> второй комп, а ответа от него нет. Как заставить такую связку
>>> работать?
>> мда, таки пошла мода нанимать мальчиков по объявлению ...
>> читай lartc.org до полного понимания
>> нужно несколько таблиц маршрутизации на втором компе и умение их готовить
> Это конечно обидно было...
> Но все же может кто подскажет как заставить заработать данную систему. Если
> прописывать маршрут на второй машине к сети из которой пришел запрос
> то работает, но сетей может быть множество и они динамические.Подмена маршрута по умолчанию
Я может быть не совсем хорошо описал всю суть проблемы...
1 комп - это шлюз интрнета со статическим внешним IP
2 комп - это сервер Asterisk
С 1 компа на 2ой средствами iptables проброшены порты для работы Asterisk, все работает. Доступ к VoIP происходит и извне.
Но, вот на втором компе пришлось поднять еще один канал интернета и через Squid раздается определенным пользователям в сети.
Поэтому, когда поднят интернет на 2м компе, то доступ извне к VoIP теряется.Т.е. получается следующая картина: при поднятом инете на 2м компе и при запросе по таким-то портам на 1м компе, первый пересылает эти пакеты на второй, но второй пытается ответить в PPP0, т.к. этот интерфейс в таблице маршрутов первый, а маршрут до первого компа с метрикой 40, и как заставить ответ вернуться туда откуда пришел запрос.
Сегодня бился с SNAT на втором компе, пытаясь завернуть ответ на нужный интерфейс, но что-то неудачно :(
>[оверквотинг удален]
> через Squid раздается определенным пользователям в сети.
> Поэтому, когда поднят интернет на 2м компе, то доступ извне к VoIP
> теряется.
> Т.е. получается следующая картина: при поднятом инете на 2м компе и при
> запросе по таким-то портам на 1м компе, первый пересылает эти пакеты
> на второй, но второй пытается ответить в PPP0, т.к. этот интерфейс
> в таблице маршрутов первый, а маршрут до первого компа с метрикой
> 40, и как заставить ответ вернуться туда откуда пришел запрос.
> Сегодня бился с SNAT на втором компе, пытаясь завернуть ответ на нужный
> интерфейс, но что-то неудачно :(Еще раз пишу о необходимости покурить маршруты по-умолчанию на второй машине. Подсказка - курите PBR
З.Ы. Аноним - это я писал, лень было с телефона логиниться
externip: в sip.conf совсем не о том? (http://vkalinin.ru/howto/view/20)
> externip: в sip.conf совсем не о том? (http://vkalinin.ru/howto/view/20)Нет, это совсем не то. Это дело и так настроено, т.к. Asterisk находится за NAT и это работает пока на компе не поднимается PPPoE.