Как разбираться с несколькими IP на внешнем интерфейсе?

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Духовитин
мл. сержант
Сообщения: 125
Зарегистрирован: 2014-12-17 8:46:05

Как разбираться с несколькими IP на внешнем интерфейсе?

Непрочитанное сообщение Духовитин » 2017-05-31 14:19:16

Товарищи, здравствуйте!

Нам тут провайдер выдал блок внешних IP адресов. Я собственно хочу сделать чтобы например юзеры в интернет выходили через один IP, чтобы внешние сервисы работали через другой IP и т.д.

Подскажите пожалуйста, как в данном случае ipfw nat настраивается?
Надо ли адреса разносить по клонированным интерфейсам или можно повешав их алиасами всё разобрать?

Дайте плиз примеры или ссылки что почитать.
Кто не рискует - тот не пьёт шампанского.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ыть
проходил мимо

Как разбираться с несколькими IP на внешнем интерфейсе?

Непрочитанное сообщение ыть » 2017-06-01 8:03:36

а че там разбирацца, пилиш вланы и вперед..
если прям сильно несколько и есть внешние сервисы типа почто-вебы-днсы-хостинги, моно их в дмз попом наружу
нат в этом случае вобще не нужен.. но надо сильно бояться непонятного и хорошо защищаться...
для типовой конторы с плангтоном вполне можно и одним ИПом обойтись..
хотя... резервирование каналов можно намутить.. или - не, не можно, провайдер жеж всё равно один..
локалку за натом если нужно на подсетки попилить
ip-calculator.ru в помощь

зы. я бы на вашем месте фейловер роутер запилил на опенке без вариантов (ipfw в топку)

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Как разбираться с несколькими IP на внешнем интерфейсе?

Непрочитанное сообщение xM » 2017-06-05 12:08:03

Духовитин писал(а): чтобы например юзеры в интернет выходили через один IP, чтобы внешние сервисы работали через другой IP
Элементарно. Привязывайте конкретные IP к конкретным сервисам в их конфигах. IPFW тут, собственно, не нужен.
IT voodoo blog https://kostikov.co

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 125
Зарегистрирован: 2014-12-17 8:46:05

Как разбираться с несколькими IP на внешнем интерфейсе?

Непрочитанное сообщение Духовитин » 2017-06-07 13:22:36

xM писал(а):Элементарно. Привязывайте конкретные IP к конкретным сервисам в их конфигах. IPFW тут, собственно, не нужен.
Ну... С одной стороны конечно да, но ведь с другой-то стороны нет!
Сервисы раскиданы по клеткам, тут уже не вижу возможности повесить сервисы из нескольких клеток на один IP. Я на самом деле вгрызся немного в ipfw и нашёл отличную статью, с помощью которой настроил текущие задачи:
Сама статья
Итоговый конфиг:

Код: Выделить всё

#!/bin/sh

FW="/sbin/ipfw -q"

extIF=rl0
intIF=re0

IP_GW=1.1.1.1
IP_1=1.1.1.3
IP_2=1.1.1.4
IP_3=1.1.1.5
IP_4=1.1.1.6
IP_5=1.1.1.7

# Opened ports on each IP
TCP_1=22,25,80,443,465
TCP_2=22,25,465
TCP_3=22
TCP_4=22
TCP_5=22

PRX_PORTS=80,443

# Clear all previous data
${FW} flush
${FW} table all flush

# Table with NAT'ed LANS
${FW} table 1 add 192.168.1.0/24
${FW} table 1 add 192.168.2.0/24
${FW} table 1 add 192.168.3.0/24
${FW} table 1 add 192.168.4.0/24
${FW} table 1 add 192.168.5.0/24
${FW} table 1 add 192.168.6.0/24
${FW} table 1 add 10.0.0.1/32
${FW} table 1 add 10.1.1.0/24
${FW} table 1 add 10.1.2.0/24

# Used forward DNS Servers
${FW} table 2 add 8.8.8.8/32
${FW} table 2 add 8.8.4.4/32

# Table with assigned nat to subnets
${FW} table 3 add 192.168.0.0/27 1
${FW} table 3 add 10.0.0.1/32 1
${FW} table 3 add 10.1.1.2/32 2
${FW} table 3 add 10.1.1.4/32 2
${FW} table 3 add 10.1.1.0/24 1
${FW} table 3 add 10.1.2.0/24 1

${FW} add allow all from any to me 22
${FW} add allow all from me 22 to any

${FW} add check-state

${FW} add allow all from any to any via lo0
${FW} add allow all from any to any via lo1
${FW} add allow all from any to any via lo2
${FW} add deny log all from any to 127.0.0.0/8
${FW} add deny log all from 127.0.0.0/8 to any
${FW} add deny icmp from any to any frag
${FW} add deny icmp from any to 255.255.255.255 in via ${extIF}
${FW} add deny icmp from any to 255.255.255.255 out via ${extIF}
${FW} add deny all from any to me 53 in via ${extIF}
${FW} add deny tcp from any to ${IP_1} not ${TCP_1} in via ${extIF} setup
${FW} add deny tcp from any to ${IP_2} not ${TCP_2} in via ${extIF} setup
${FW} add deny tcp from any to ${IP_3} not ${TCP_3} in via ${extIF} setup
${FW} add deny tcp from any to ${IP_4} not ${TCP_4} in via ${extIF} setup
${FW} add deny tcp from any to ${IP_5} not ${TCP_5} in via ${extIF} setup

# Nat config
${FW} nat 1 config ip ${IP_1}
${FW} nat 2 config ip ${IP_2}
${FW} nat 3 config ip ${IP_3}

${FW} nat 10 config \
        redirect_port tcp 10.1.1.2:25 ${IP_1}:25 \
        redirect_port tcp 10.1.1.2:25 ${IP_2}:25 \
        redirect_port tcp 10.1.1.4:80 ${IP_1}:80 \
        redirect_port tcp 10.1.1.4:443 ${IP_1}:443 \
        redirect_port tcp 10.1.1.2:465 ${IP_1}:465 \
        redirect_port tcp 10.1.1.2:465 ${IP_2}:465

${FW} add skipto 5000 all from any to any out

# Incoming packets section
${FW} add nat 10 all from any to ${IP_1} recv ${extIF}
${FW} add nat 10 all from any to ${IP_2} recv ${extIF}
${FW} add nat 1 all from any to ${IP_1} recv ${extIF}
${FW} add nat 2 all from any to ${IP_2} recv ${extIF}

# outgoing packets section
${FW} add 5000 nat global all from table\(1\) to not me
${FW} add nat tablearg all from 'table(3)' to not me

${FW} add fwd ${IP_GW} all from ${IP_1} to any
${FW} add fwd ${IP_GW} all from ${IP_2} to any

${FW} add allow all from any to any
Кто не рискует - тот не пьёт шампанского.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Как разбираться с несколькими IP на внешнем интерфейсе?

Непрочитанное сообщение xM » 2017-06-07 15:08:56

Духовитин писал(а): Сервисы раскиданы по клеткам, тут уже не вижу возможности повесить сервисы из нескольких клеток на один IP.
Вы же понимаете, что NAT это решение для бедных.
Вам, при наличии подсети реальных IP, ничто не мешает раздать их по jails и избавиться от NAT за ненадобностью.
IT voodoo blog https://kostikov.co

ыть
проходил мимо

Как разбираться с несколькими IP на внешнем интерфейсе?

Непрочитанное сообщение ыть » 2017-06-07 15:38:29

огребете вы с вашими клетками.. еще и без вимаджа пади..
можно на петлю нацеплять разных сервисов и ипфв фвд-шить на них..
статейка грамотная, сам по младости экстазмировал по нетграфам...
однако, гораздо больше сложных вещей можно сделать просто в пф-е на опенке..

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 125
Зарегистрирован: 2014-12-17 8:46:05

Как разбираться с несколькими IP на внешнем интерфейсе?

Непрочитанное сообщение Духовитин » 2017-06-08 19:53:17

Клетки без вимаджа, что-то не знаком с ним пока. Но видимо познакомлюсь вскоре.

А отчего огрести можно с клетками? Я постоянно в клетки сажу сервисы mysq, asterisk, web, mail вроде не было особых эксцессов. В чём заключается серьёзный минус клеток?

А то чтобы клеткам по внешнему ip выдать, так этих ип выдали конечно подсеть, но подсеть всего /29, так что особо не пораздаёшь.
Кто не рискует - тот не пьёт шампанского.