Тема: Трансляция реальных IP адресов через 2 роутера

Доброго времени суток.

Помогите пожалуйста понять в чем проблема.

Есть роутер (R3) на FreeBSD через который работают интернет пользователи и частные предприятия с реальными IP.
Задача - разгрузить сеть на 2 роутера + Firewall

Router (1)

Собран ядерный PF

        device pf
        device pflog
        device pfsync
        options ALTQ
        options ALTQ_CBQ
        options ALTQ_RED
        options ALTQ_RIO
        options ALTQ_HFSC
        options ALTQ_PRIQ
        options ALTQ_NOPCC

rc.conf

defaultrouter="194.***.160.69"
gateway_enable="YES"
pf_enable="YES"
pf_program="/sbin/pfctl"
pf_flags=""
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pf.log"
pflog_program="/sbin/pflogd"
pflog_flags=""
named_enable="YES"
named_flags="-u bind"
squid_enable="YES"
hostname="Aden.localhost"
ifconfig_sk0="inet 194.***.160.70  netmask 255.255.255.0"
ifconfig_sk1="inet 192.168.251.1  netmask 255.255.225.0"
inetd_enable="YES"
sshd_enable="YES"

pf.conf

#pf.conf
wan="sk0"
lan="sk1"
wanip="194.***.160.70/32"
lanip="192.168.251.0/24"
aden="192.168.251.1/32"
giran="192.168.251.2/32"
dion="192.168.251.3/32"
dion_tcp="{ 5060 }"
dion_udp="{ 2727, 4520, 4569, 5036, 5060, 10000:20000 }"
web="194.***.160.54/32"
icmp_types="{ echoreq, unreach }"
client_ports="{ 21, 22, 25, 110, 123, 80,443, 3128, 3129,3389,80,80, >=49151 }"


set block-policy return

set loginterface $wan

set skip on lo0

scrub in all

nat on $wan inet from $lanip to any -> $wanip

rdr on $lan proto tcp from $lanip to any port www -> 127.0.0.1 port 3129
rdr on $wan proto tcp from any to $wanip port 33330 -> $giran
rdr on $wan proto tcp from any to $wanip port 33331 -> $dion

antispoof quick for {lo0, $lan, $wan }

block log all

pass log inet proto icmp all icmp-type $icmp_types
pass out on $wan from $lanip to any keep state

pass in on $lan proto udp from $lanip to $aden port domain
pass in on $lan proto udp from $lanip to $aden port ntp
pass in on $lan from $lanip to any
pass in on $lan from $dion to any
pass in on $lan proto tcp from $lanip to any port $client_ports #dozvil portiv

pass out on $wan proto tcp from any to any
pass out on $wan proto udp from any to any keep state
pass out on $lan proto tcp from any to any
pass out on $lan proto udp from any to any keep state

pass in log on $wan proto tcp from any to $wanip port 33339 flags S/SA synproxy state
pass in log on $wan proto tcp from any to $dion port 22 flags S/SA synproxy state
pass in log on $wan proto tcp from any to $dion port 22 flags S/SA synproxy state

pass in on $wan proto tcp from any to $wanip port www flags S/SA synproxy state
pass in on $wan proto tcp from any to $dion port $dion_tcp flags S/SA
pass in on $wan proto udp from any to $dion port $dion_udp keep state

squid.conf


Router(2)
Будет обслуживать только клиентов локальной сети и там все работает.

Router(3)

rc.conf

defaultrouter="192.168.251.1"
gateway_enable="YES"
hostname="router.local"
ifconfig_em0="inet 192.168.251.3  netmask 255.255.255.252"
ifconfig_em1="inet 194.***.160.50/29"
ifconfig_em1_alias0="inet 194.***.202.193/29"
keymap="ua.koi8-u.shift.alt"
sshd_enable="YES"
mysql_enable="YES"
apache22_enable="YES"
firewall_enable="YES"
fsck_y_enable="YES"
background_fsck="NO"
ipcad_enable="YES"
nol2auth_enable="YES"
noserver_enable="YES"
nodeny_dir="/usr/local/nodeny"
bsnmpd_enable="YES"
named_enable="YES"

Проблема в том что реальные IP не работают как положено.
Помогите молодому (не оч. опытному) понять где трабл.

Отредактировано stalkerson (16-05-2012 17:50:04)

Post's attachments

Router2.bmp 678.29 Кб, 3 скачиваний с 2012-05-16 

You don't have the permssions to download the attachments of this post.

2

Re: Трансляция реальных IP адресов через 2 роутера

а как положено работать реальным ip? Вы бы нарисовали схемку, как и что подключается

3

Re: Трансляция реальных IP адресов через 2 роутера

crash пишет:

а как положено работать реальным ip? Вы бы нарисовали схемку, как и что подключается

Нету выхода наружу и не видно с инета.

Схемка как подключаеться прикреплена в файле Router2 в первом посте.
Как работает сейчас

Отредактировано stalkerson (16-05-2012 17:55:29)

Post's attachments

Router1.bmp 136.99 Кб, 1 скачиваний с 2012-05-16 

You don't have the permssions to download the attachments of this post.

4

Re: Трансляция реальных IP адресов через 2 роутера

ifconfig_sk1="inet 192.168.251.1  netmask 255.255.225.0"
ifconfig_em0="inet 192.168.251.3  netmask 255.255.255.252"

как у вас такое может быть?
сеть

ifconfig_sk0="inet 194.***.160.70  netmask 255.255.255.0"

настроена на Router1 и как часть сети взялась на Router3 не понятно.
Так же как не понятно где маршрутизация сети находящейся за Router3 на Router'е1?

5

Re: Трансляция реальных IP адресов через 2 роутера

crash пишет:
ifconfig_sk1="inet 192.168.251.1  netmask 255.255.225.0"
ifconfig_em0="inet 192.168.251.3  netmask 255.255.255.252"

как у вас такое может быть?

сеть

ifconfig_sk0="inet 194.***.160.70  netmask 255.255.255.0"

настроена на Router1 и как часть сети взялась на Router3 не понятно.
Так же как не понятно где маршрутизация сети находящейся за Router3 на Router'е1?

маску исправил но проблема не в том

192.168.251.1 ето внутрений интерфейс который смотрит из сервера (r1) на сервера ( (r2) для локальных клиентов)) и - сервер ( (r3) для трянсляции реальных IP)

Из локалки на ROUTER3 обращается клиент с реальным IP допустим 194.***.160.51.
ROUTER3 в свою очередь подключен через комутатор на ROUTER1 - который смотрит в сторону провайдера
соответственно 194.***.160.51 должен получить реальный IP адрес и доступ в интернет.

Отредактировано stalkerson (16-05-2012 18:28:52)

6

Re: Трансляция реальных IP адресов через 2 роутера

Вы проигнорировали половину моего поста.
Еще раз на router1 настроена сеть ifconfig_sk0="inet 194.***.160.70  netmask 255.255.255.0", откуда часть этой сети взялась на Router3?
Дальше, Router1 знает как попасть в сети

ifconfig_em1="inet 194.***.160.50/29"
ifconfig_em1_alias0="inet 194.***.202.193/29"

?

7

Re: Трансляция реальных IP адресов через 2 роутера

Все работало вот так
http://s019.radikal.ru/i628/1205/58/0fdb358efa62.jpg

Хотим сделать вот  так
http://s019.radikal.ru/i629/1205/e5/a8b645e74089.jpg

Конфиги в первом посте

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

8

Re: Трансляция реальных IP адресов через 2 роутера

я вам пишу третье сообщение:

СОГЛАСНО ВАШИМ КОНФИГАМ, У ВАС НЕ НАСТРОЕНА МАРШРУТИЗАЦИЯ

Надеюсь, так вы увидите.

9

Re: Трансляция реальных IP адресов через 2 роутера

на ROUTER3 установлен билинг NoDeny для учета трафика ...

10

Re: Трансляция реальных IP адресов через 2 роутера

тема для общения с самим с собой.

11

Re: Трансляция реальных IP адресов через 2 роутера

squid.conf

http_port 3128
http_port 3129 transparent

acl aden src 192.168.251.1
acl dion src   192.168.251.3

http_access allow dion
http_access deny all


тут требл?

12

Re: Трансляция реальных IP адресов через 2 роутера

https://www.freebsd.org/doc/ru_RU.KOI8-R … uting.html

13

Re: Трансляция реальных IP адресов через 2 роутера

пришел к выводу что на ROUTER1 прописать
route add -net ***.***.***.***/** 192.168.251.3
а что нужно прописать заместо ***.***.***.***/** ? IP внешней сетевой ROUTER1?
Ткните носом пожалуйста ещё раз sad

14

Re: Трансляция реальных IP адресов через 2 роутера

вместо звездочек надо прописать сети, которые у вас находятся за Router3.

15

Re: Трансляция реальных IP адресов через 2 роутера

простите за тупые вопросы, на я только учусь, и наука по мануалкам штука не простая.
тоесть если сделать:
route add -net 194.***.160.54 192.168.251.3
на РОУТЕР1, то тогда 194.***.160.54 попадет в инет резез РОУТЕР3 и на неё можно будет попасть из инета?

16

Re: Трансляция реальных IP адресов через 2 роутера

вот пример добавления маршрута к сети 1922.168.2.0 с маской 255.255.255.0 через шлюз 192.168.1.2

route add -net 192.168.2.0  192.168.1.2 255.255.255.0

Как видите указывается маска подсети, у вас ее нет. Хотя у вас она должна быть небольшая, например 255.255.255.240. А так как вы делаете, то надо писать -host, тогда для одного хоста будет маршрут.

17

Re: Трансляция реальных IP адресов через 2 роутера

pass in on "внутренний интерфейс" route-to { ("внешний интерфейс 1" "Внешний IP маршрутизатора 1"), ("внешний интерфейс 2" "Внешний IP маршрутизатора 2") } round-robin from "Твоя сеть" to any keep state

будет кидать одно соединение из внутренней сети на маршрутизатор 1 следующее соединение на маршрутизатор 2 и соответсвенно работать с ними.
Внимание с SSL,HTTPS соединениями они должны всю сессию вести с одного маршрутизатора.