<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: SNAT &amp; routing</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html</link>
    <description>Есть 2 линка в интернет. На одном реальный ЙП(ppp0), на другом серый(eth1). Дефолтный шлюз на сером линке.&lt;br&gt;&lt;br&gt;Нужно чтобы asterisk слал запросы через линк с реальным ЙП.&lt;br&gt;&lt;br&gt;Делаю:&lt;br&gt;&lt;br&gt;iptables -t mangle -A OUTPUT -d ! 192.168.0.0/255.255.255.0 -m owner --uid-owner asterisk -j MARK --set-mark 255&lt;br&gt;&lt;br&gt;ip route add 88.88.88.88 dev ppp0 table i_ip&lt;br&gt;ip route add default via  88.88.88.88 dev ppp0 table i_ip&lt;br&gt;ip rule add fwmark 255 pri 100 table i_ip&lt;br&gt;ip rule add from 88.88.88.88 pri 200 table i_ip&lt;br&gt;&lt;br&gt;iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE&lt;br&gt;&lt;br&gt;Пакеты от астериска уходят через ppp0, как и нужно, НО адрес источника у них не 88.88.88.88 а 192.168.254.2 (eth1, серый линк).&lt;br&gt;&lt;br&gt;Как добиться SNAT на 88.88.88.88 для пакетов, идущих через ppp0?&lt;br&gt;&lt;br&gt;iptables -t nat -A POSTROUTING -o ppp0 -j SNAT 88.88.88.88 дает тот же результат.&lt;br&gt;</description>

<item>
    <title>Решение проблемы. (vldimir.malyk)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#14</link>
    <pubDate>Wed, 22 Oct 2008 07:13:00 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;У меня: внешний интерфейс, внешний айпи. Внутренний интерфейс, шлюзы. &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;Как будет связь между * и шлюзом, если пакеты с _адреса_ внешнего &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;интерфейса пойдут во внешний интерфейс ? Правильно, никакая. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;вот именно потому, что связи никакой нет, решение с bindaddr и подошло &lt;br&gt;&amp;gt;&amp;gt;как временное. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Это косяк настройки маршрутизации. _Не_всегда  надо отправлять пакеты с адреса сетевой &lt;br&gt;&amp;gt;карты в эту сетевую карту. &lt;br&gt;&lt;br&gt;посоветуй доку, где раскрываются &quot;идеологические&quot; аспекты использования маршрутизации. доки по инструментарию у меня уже достаточно.&lt;br&gt;</description>
</item>

<item>
    <title>Решение проблемы. (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#13</link>
    <pubDate>Wed, 22 Oct 2008 06:27:47 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;Да нихрена не так. Шлет он через тот интерфейс, через который ему &lt;br&gt;&amp;gt;&amp;gt;говорит таблица и правила маршрутизации. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;У меня: внешний интерфейс, внешний айпи. Внутренний интерфейс, шлюзы. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Как будет связь между * и шлюзом, если пакеты с _адреса_ внешнего &lt;br&gt;&amp;gt;&amp;gt;интерфейса пойдут во внешний интерфейс ? Правильно, никакая. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;вот именно потому, что связи никакой нет, решение с bindaddr и подошло &lt;br&gt;&amp;gt;как временное. &lt;br&gt;&lt;br&gt;Это косяк настройки маршрутизации. _Не_всегда  надо отправлять пакеты с адреса сетевой карты в эту сетевую карту.&lt;br&gt;</description>
</item>

<item>
    <title>Решение проблемы. (vldimir.malyk)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#12</link>
    <pubDate>Wed, 22 Oct 2008 06:13:45 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Asterisk шлет запросы через тот интерфейс, на который он забинден. Это не совсем &lt;br&gt;&amp;gt;&amp;gt;то, что хотелось, но проблему решает. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Да нихрена не так. Шлет он через тот интерфейс, через который ему &lt;br&gt;&amp;gt;говорит таблица и правила маршрутизации. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;У меня: внешний интерфейс, внешний айпи. Внутренний интерфейс, шлюзы. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Как будет связь между * и шлюзом, если пакеты с _адреса_ внешнего &lt;br&gt;&amp;gt;интерфейса пойдут во внешний интерфейс ? Правильно, никакая. &lt;br&gt;&lt;br&gt;вот именно потому, что связи никакой нет, решение с bindaddr и подошло как временное.&lt;br&gt;&lt;br&gt;&amp;gt;Пользуйтесь ip route. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Команды, с которых следует начать: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;ip ru sh &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;ip ro sh table main &lt;br&gt;&amp;gt;ip ro sh table default</description>
</item>

<item>
    <title>Решение проблемы 2 (vldimir.malyk)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#11</link>
    <pubDate>Wed, 22 Oct 2008 05:52:11 GMT</pubDate>
    <description>корень проблемы:&lt;br&gt;&lt;br&gt;&amp;gt; Все пакеты астерикса изначально идут на default route eth1! Вот &lt;br&gt;&lt;br&gt;почему правило для -o ppp0 -j SNAT не работает, а правило -o eth1 -j &lt;br&gt;SNAT --to-source 192.168.254.2 - да!&lt;br&gt;&amp;gt;Дальше маркированный пакет с серым в попадает в ip route и уходит &lt;br&gt;&lt;br&gt;через ppp0&lt;br&gt;&lt;br&gt;отсюда решение:&lt;br&gt;&lt;br&gt;добавляем в /etc/iproute2/rt_tables таблицу iip&lt;br&gt;&lt;br&gt;делаем:&lt;br&gt;ip ru add from 88.88.88.88 table iip&lt;br&gt;ip ro add 88.88.88.88 dev ppp0 table iip&lt;br&gt;ip ro add default via  88.88.88.88 dev ppp0 table iip&lt;br&gt;ip ru add fwmark 255 pri 100 table iip&lt;br&gt;ip ru add from 88.88.88.88 pri 200 table iip&lt;br&gt;ip ru f c&lt;br&gt;&lt;br&gt;iptables -t mangle -A OUTPUT -d ! 192.168.0.0/24 -m owner --uid-owner asterisk -j MARK --set-mark 255&lt;br&gt;iptables -t nat -A POSTROUTING -m mark --mark 255 -j SNAT --to-source 88.88.88.88&lt;br&gt;&lt;br&gt;и все работает отлично.&lt;br&gt;&lt;br&gt;спасибо mutronix с linux.org.ru.&lt;br&gt;http://www.linux.org.ru/view-message.jsp?msgid=3186294&amp;nocache=-14381729#3189935&lt;br&gt;</description>
</item>

<item>
    <title>Решение проблемы. (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#10</link>
    <pubDate>Tue, 21 Oct 2008 14:19:17 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source 88.88.88.88 &lt;br&gt;&amp;gt;&amp;gt;и убедится что пакеты не попадают в другое правило SNAT &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;iptables-save &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Сабжевым способом решить проблемы с asterisk мне не удалось. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;PavelR с подсказал альтернативный способ - использовать опцию bindaddr астериска. Asterisk шлет &lt;br&gt;&amp;gt;запросы через тот интерфейс, на который он забинден. Это не совсем &lt;br&gt;&amp;gt;то, что хотелось, но проблему решает. &lt;br&gt;&lt;br&gt;Да нихрена не так. Шлет он через тот интерфейс, через который ему говорит таблица и правила маршрутизации.&lt;br&gt;&lt;br&gt;У меня: внешний интерфейс, внешний айпи. Внутренний интерфейс, шлюзы. &lt;br&gt;&lt;br&gt;Как будет связь между * и шлюзом, если пакеты с _адреса_ внешнего интерфейса пойдут во внешний интерфейс ? Правильно, никакая.&lt;br&gt;&lt;br&gt;&lt;br&gt;Пользуйтесь ip route.&lt;br&gt;&lt;br&gt;Команды, с которых следует начать:&lt;br&gt;&lt;br&gt;ip ru sh &lt;br&gt;&lt;br&gt;ip ro sh table main&lt;br&gt;ip ro sh table default &lt;br&gt;</description>
</item>

<item>
    <title>Решение проблемы. (vldimir.malyk)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#9</link>
    <pubDate>Tue, 21 Oct 2008 13:04:05 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Как добиться SNAT на 88.88.88.88 для пакетов, идущих через ppp0? &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;iptables -t nat -A POSTROUTING -o ppp0 -j SNAT 88.88.88.88 дает тот &lt;br&gt;&amp;gt;&amp;gt;же результат. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source 88.88.88.88 &lt;br&gt;&amp;gt;и убедится что пакеты не попадают в другое правило SNAT &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;iptables-save &lt;br&gt;&lt;br&gt;Сабжевым способом решить проблемы с asterisk мне не удалось.&lt;br&gt;&lt;br&gt;PavelR с подсказал альтернативный способ - использовать опцию bindaddr астериска. Asterisk шлет запросы через тот интерфейс, на который он забинден. Это не совсем то, что хотелось, но проблему решает.&lt;br&gt;</description>
</item>

<item>
    <title>SNAT &amp; routing (vldimir.malyk)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#8</link>
    <pubDate>Tue, 21 Oct 2008 12:54:57 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source 88.88.88.88 &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;и убедится что пакеты не попадают в другое правило SNAT &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;пакеты в другое POSTROUTING правило не попадают. но с ppp0 идут с &lt;br&gt;&amp;gt;&amp;gt;неправильным ip. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;ощущение такое, что пакеты после OUTPUT сразу идут во внешку, хотя в &lt;br&gt;&amp;gt;&amp;gt;документации написано обратное. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;а если лог в самом начале POSTROUTING устроить? &lt;br&gt;&lt;br&gt;устроил.&lt;br&gt;iptables -t nat -A POSTROUTING -o ppp0 -j LOG&lt;br&gt;&lt;br&gt;один пакет в минуту:&lt;br&gt;Oct 21 15:50:08 gate kernel: IN= OUT=ppp0 SRC=192.168.254.2 DST=194.187.154.13 LEN=575 TOS=0x00 PREC=0x00 TTL=64 ID=24423 PROTO=UDP SPT=5060 DPT=63221 LEN=555&lt;br&gt;Oct 21 15:50:50 gate kernel: IN= OUT=ppp0 SRC=192.168.254.2 DST=194.187.154.13 LEN=539 TOS=0x00 PREC=0x00 TTL=64 ID=24424 PROTO=UDP SPT=5060 DPT=62877 LEN=519&lt;br&gt;Oct 21 15:51:08 gate kernel: IN= OUT=ppp0 SRC=192.168.254.2 DST=194.187.154.13 LEN=575 TOS=0x00 PREC=0x00 TTL=64 ID=24436 PROTO=UDP SPT=5060 DPT=63221 LEN=555&lt;br&gt;&lt;br&gt;tcpdump -i ловит пакеты с неправильн</description>
</item>

<item>
    <title>SNAT &amp; routing (vldimir.malyk)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#7</link>
    <pubDate>Tue, 21 Oct 2008 12:43:00 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;астериск имеет кучку опций, позволяющих указать, с какого адреса отправлять запросы. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;назовите хоть одну :) я только bindaddr из похожего нашел, но это &lt;br&gt;&amp;gt;&amp;gt;не то что нужно. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Специально для вас проверил: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;при выставленном bindaddr для sip, соединения между устройствами проходят с указанного адреса, &lt;br&gt;&amp;gt;а не с адреса интерфейса, на котором устройства висят. &lt;br&gt;&lt;br&gt;каюсь. действительно, именно так и есть.&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;Далее в силу вступает &quot;сага о двух провайдерах&quot;, широко и многократно описанная &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;на сайте. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;этих &quot;саг&quot; я уже ворох пересмотрел. все вокруг да около, готового решения &lt;br&gt;&amp;gt;&amp;gt;нет. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Готовые решения - у майкрософта и прочих вендоров. &lt;br&gt;&amp;gt;А если не понятен принцип ip ru / ip ro - извините. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А там еще и флажки (fwmark) есть... &lt;br&gt;&lt;br&gt;fwmark как раз работает - пакеты идут куда надо, но адрес отправителя в них стоит не тот. и как с этим бороться - не ясно.&lt;br&gt;&lt;br&gt;в любом случае, с bindaddr проблема решается. спасибо за помощь!&lt;br&gt;</description>
</item>

<item>
    <title>SNAT &amp; routing (reader)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/82493.html#6</link>
    <pubDate>Tue, 21 Oct 2008 12:42:54 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;же результат. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source 88.88.88.88 &lt;br&gt;&amp;gt;&amp;gt;и убедится что пакеты не попадают в другое правило SNAT &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;пакеты в другое POSTROUTING правило не попадают. но с ppp0 идут с &lt;br&gt;&amp;gt;неправильным ip. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;ощущение такое, что пакеты после OUTPUT сразу идут во внешку, хотя в &lt;br&gt;&amp;gt;документации написано обратное. &lt;br&gt;&lt;br&gt;а если лог в самом начале POSTROUTING устроить?&lt;br&gt;</description>
</item>

</channel>
</rss>
