LINUX.ORG.RU
ФорумAdmin

Можно ли сделать PBR с натом без маркировки пакетов в iptables?


0

1

Хочу подключить к шлюзу второй провайдер, чтобы все заначеное уходило на него и только на него. НАТ сделаю айпишником самого интерфейса шлюза. На первый провайдер должны уходить только белые ипы. Везде встречаю рецепты либо с натом на оба интерфейса, либо с fwmark, есть ли способ без маркировки пакетов и нужно ли будет маркировать пакеты для белых ипов?

Так?

echo "100	NAT" >> /etc/iproute2/rt_tables
ip rule add from 10.0.0.0/8 table NAT
ip rule add from 172.16.0.0/12 table NAT
ip rule add from 192.168.0.0/16 table NAT
ip route add default via $PROV2 table NAT
Tok ★★
()
Ответ на: комментарий от Tok

ВЫглядит то верно но не помешает ли это маршрутизации между 172.16.* и например 123.45.67.*? потому что в этой таблице НАТ как я понимаю нет никаких записей, кроме дефолт гейтвея, втч и директли коннектед. И нужно ли будет снимать общий дефолт гейтвей из таблицы main по такому поводу?

justin_case
() автор топика
Ответ на: комментарий от justin_case

Ну на 123.45.67.* оно побежит через провайдера в таблице НАТ, где вы дальше собственное и делаете нат для серых айпи. Так как вы просите чтоб все «серые» адреса ходили через провайдера в таблице НАТ и только. Или вам не это нужно?

Tok ★★
()
Ответ на: комментарий от Tok

Мне нужно чтобы серые шли натом через провайдер B и только через него, а белые без ната, через провайдер A и только через него, при этом чтобы не терялась связь между серой и белыми сетями. Чтобы можно было с 172.16.0.* зайти на 123.45.67.* Я имел в виду что 123.45.67.* это и есть белые айпишники, чтобы на них заходить нат не требуется и провайдер тоже, это внутри сети.

justin_case
() автор топика

nat и policy-routing это две отдельно стоящие вещи.

Сначала настрой policy-routing, потом добавь nat на нужный интерфейс.

Примеров по-отдельности для того и другого - завались.

«Linux Advanced Routing & Traffic Control HOWTO» раздел 4.2

и про то как без fwmark обойтись там тоже сказано.

vel ★★★★★
()
Ответ на: комментарий от justin_case

Чтоб это заработало, просто добавь в таблицу NAT нужные маршруты из таблицы main. Я обычно скриптом прогоняю все маршруты из main по scope link и копирую их в доп. таблицы - все всех видят, всё работает как надо, без маркировок, без ГМО.

nickleiten ★★★
()
Ответ на: комментарий от nickleiten

да, так и пришлось сделать. Очень жалко что это неочевидно.

justin_case
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.