Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Доступ к двум сетям через SNAT


Автор: zatei 17.9.2009, 12:34
Три интерфейса: eth0 (смотрит в локальную сеть провайдера 10.xxx.xxx.xxx), eth1 (смотрит в мою личную домашнюю локалку из неск. компов - 192.168.0.0/24), ppp0 (VPN соединение, смотрит в интернет)

Какими правилами организовать SNAT (не маскарадинг, маскарадинг жрет много ресурсов) который при запросе в локальную сеть (10.ххх.ххх.ххх) будет пускать пакеты по маршрутам локальной сети через eth0, а при запросе на все остальное будет пускать их через ppp0.

И да, есть еще пара подсетей доступных из локальной сети, к примеру 80.252.ххх.ххх/31, их тоже надо пускать через eth0.

Маршруты (возможно помогут выяснить что к чему, маршруты при включенном VPN):
Код

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.255.245.22   *               255.255.255.255 UH    0      0        0 ppp0
vpn.veganet.ru  10.96.76.1      255.255.255.255 UGH   0      0        0 eth0
80.252.xxx.xxx  10.96.76.1      255.255.255.254 UG    0      0        0 eth0
80.252.xxx.xxx   10.96.76.1      255.255.255.240 UG    0      0        0 eth0
10.10.122.64    10.96.76.1      255.255.255.224 UG    0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
10.96.76.0      *               255.255.252.0   U     0      0        0 eth0
10.96.0.0       10.96.76.1      255.255.0.0     UG    0      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth1
default         *               0.0.0.0         U     0      0        0 ppp0

Автор: bilbobagginz 17.9.2009, 12:53
Цитата(zatei @  17.9.2009,  11:34 Найти цитируемый пост)
Какими правилами организовать SNAT

из сети 192. компы подключаются в качестве клиентов TCP к компам в 10. ?
может тебе хватит просто статического маршрута ?

Автор: zatei 17.9.2009, 17:58
Спасибо, опять сам разобрался smile

Конфиг получился такой:

Код

-A POSTROUTING -s 192.168.0.0/24 -d 10.96.0.0/16 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -d 80.252.ххх.ххх/28 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -d 80.252.ххх.ххх/31 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -d 10.10.122.64/27 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 88.84.ххх.ххх


Итого маршрутизацию на компьютерах задавать не требуется, все разруливается сервером. Все работает как часы, нагрузка заметно ниже чем с маскарадингом, особенно когда пользуешься такими вещами как dc++.

Надеюсь комунить поможет мой пример.

Автор: ZeeLax 17.9.2009, 18:16
Код

-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j SNAT --to-source 88.84.ххх.ххх

?

Чем замеряли нагрузку? И можно ещё параметры маршрутизатора. Очень интересно smile

Автор: Kappac 24.10.2009, 16:45
Если честно(мое личное мнение), то:
Код

-A POSTROUTING -s 192.168.0.0/24 -d 10.96.0.0/16 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -d 80.252.ххх.ххх/28 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -d 80.252.ххх.ххх/31 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -d 10.10.122.64/27 -j SNAT --to-source 10.96.76.134
-A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 88.84.ххх.ххх

является довольно сомнительным удовольствием решения вопрсов _маршрутизации_. netfilter как - никак брандмауер.
Рекомендую посмотреть в сторону ip(iproute2).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)