Приветствую!
У меня используется два интернет-канала.
IP первого канала используется как IP первичного DNS (вторичный у провайдера). Шлюз первого канала прописан как шлюз по умолчанию.
Второй канал имеет статический внешний IP, но доменного имени не имеет.
Маршрутизация настроена.
Условно:
x.x.x.2 - IP первого канала, шлюз x.x.x.1 (шлюз по умолчанию).
y.y.y.2 - IP второго канала, шлюз y.y.y.1
mydomain.ru - мой домен.
Вопрос 1.
Хочу использовать IP второго канала для получения доступа к службам локальной сети. В частности, к jabber-у.
В настройках bind-а в файле зоны дописываю:
$TTL 86400
mydomain.ru. IN SOA ns1.mydomain.ru. root.mydomain.ru. (
2012022402
8H
2H
7D
1D )
IN NS ns1.mydomain.ru.
IN NS ns1.secondary.ru.
$ORIGIN mydomain.ru.
IN MX 5 mail.mydomain.ru.
localhost IN A 127.0.0.1
@ IN A x.x.x.2
ns1 IN A x.x.x.2
mail IN A x.x.x.2
www IN CNAME @
[b]jabber IN A y.y.y.2[/b]
_jabber._tcp.mydomain.ru. IN SRV 0 0 5269 jabber.mydomain.ru.
_xmpp-server._tcp.mydomain.ru. IN SRV 0 0 5269 jabber.mydomain.ru.
_xmpp-client._tcp.mydomain.ru. IN SRV 0 0 5222 jabber.mydomain.ru.
Дополнительно создаю файл для обратного преобразования:
$TTL 86400
y.y.y.IN-ADDR.ARPA. IN SOA ns1.mydomain.ru. root.mydomain.ru. (
2012022402
8H
2H
7D
1D )
IN NS ns1.mydomain.ru.
IN NS ns1.secondary.ru.
2 IN PTR jabber.mydomain.ru.
В локальной сети прямое и обратное преобразование имени jabber.mydomain.ru работает. А из-вне работает только прямое преобразование IP.
Как правильно настроить обратное преобразование IP, чтобы оно работало во внешней сети?
Вопрос 2.
Ладно. Для Jabber обратное преобразование не требуется.
Сам jabber сервер установлен на сервере внутри локальной сети (за firewall-ом). Сначала jabber.mydomain.ru был присвоен IP x.x.x.2 (т.е. IP первого интернет канала). В iptables было прописано следующее:
iptables -t nat -A PREROUTING -p tcp -d x.x.x.2 --dport 5222 -j DNAT --to-destination 192.168.0.1:5222
iptables -t nat -A PREROUTING -p tcp -d x.x.x.2 --dport 5269 -j DNAT --to-destination 192.168.0.1:5269
iptables -A FORWARD -p tcp -d 192.168.0.1 -m multiport --dport 5222,5269 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.1 -j ACCEPT
Связь была. Теперь я замени в этих цепочках x.x.x.2 на y.y.y.2. Связь пропала.
Связь появляется, если сделать шлюзом по умолчанию IP y.y.y.1.
Пробовал ставить метки.
В iptables:
iptables -t mangle -A PREROUTING -p tcp -d y.y.y.2 -m multiport --dport 5222,5269 -j MARK --set-mark 1В iproute2:
ip rule add fwmark 1 table T2Не помогло.
Как правильно прописать проброс портов с IP, шлюз которого не является шлюзом по умолчанию?