Помогите разобраться.
Хочется: Организации надо считать траффик через провайдера. Внутри есть 4 конторы, которые делят канал и должны быть подсчитаны отдельно друг от друга. Выделено 5 прямых ip. Пришла в голову мысль сделать 2 роутера, в кажном по 4 карты, поднять по 2 ната на машине и пров. будет считать траффик по исходящим прямым адресам.
Возникли проблемы: Фря5.3, не поднимаются все 4 интерфейса, поднимается только один внешний и один внутренний. Остальные показано, что ап, но адресов им не выдается.
В результате стартует только один нат.
Где я неправ?ifconfig:
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 217.195.93.83 netmask 0xffffff00 broadcast 217.195.93.255
ether 00:0e:2e:3e:0f:3a
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
ether 00:0e:2e:3d:fc:06
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:0e:2e:3d:f9:f9
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
ether 00:0d:61:84:3a:fc
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
rc.conf:
ifconfig_rl0="inet 217.195.93.83 netmask 255.255.255.0"
ifconfig_rl1="inet 217.195.93.84 netmask 255.255.255.0"
ifconfig_rl2="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_rl3="inet 192.168.0.2 netmask 255.255.255.0"
>Помогите разобраться.
>Хочется: Организации надо считать траффик через провайдера. Внутри есть 4 конторы, которые
>делят канал и должны быть подсчитаны отдельно друг от друга. Выделено
>5 прямых ip. Пришла в голову мысль сделать 2 роутера, в
>кажном по 4 карты, поднять по 2 ната на машине и
>пров. будет считать траффик по исходящим прямым адресам.
>Возникли проблемы: Фря5.3, не поднимаются все 4 интерфейса, поднимается только один внешний
>и один внутренний. Остальные показано, что ап, но адресов им не
>выдается.
>В результате стартует только один нат.
>Где я неправ?
>
>ifconfig:
>rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=8<VLAN_MTU>
> inet 217.195.93.83 netmask 0xffffff00
>broadcast 217.195.93.255
> ether 00:0e:2e:3e:0f:3a
> media: Ethernet autoselect (100baseTX <full-duplex>)
> status: active
>rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=8<VLAN_MTU>
> ether 00:0e:2e:3d:fc:06
> media: Ethernet autoselect (100baseTX <full-duplex>)
> status: active
>rl2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=8<VLAN_MTU>
> inet 192.168.0.1 netmask 0xffffff00
>broadcast 192.168.0.255
> ether 00:0e:2e:3d:f9:f9
> media: Ethernet autoselect (100baseTX <full-duplex>)
> status: active
>rl3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=8<VLAN_MTU>
> ether 00:0d:61:84:3a:fc
> media: Ethernet autoselect (100baseTX <full-duplex>)
> status: active
>lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
> inet 127.0.0.1 netmask 0xff000000
>
>rc.conf:
>ifconfig_rl0="inet 217.195.93.83 netmask 255.255.255.0"
>ifconfig_rl1="inet 217.195.93.84 netmask 255.255.255.0"
>ifconfig_rl2="inet 192.168.0.1 netmask 255.255.255.0"
>ifconfig_rl3="inet 192.168.0.2 netmask 255.255.255.0"интерфейсы не должны быть в одной подсети.
>интерфейсы не должны быть в одной подсети.как иначе мне сделать четыре адреса.... по-крайней мере реальных на 2х машинах?
>>интерфейсы не должны быть в одной подсети.
>
>как иначе мне сделать четыре адреса.... по-крайней мере реальных на 2х машинах?
>
есть способ. и тут можно найти решение.
но в твоем случае, я бы еще раз обдумал топологию и адресацию.
>есть способ. и тут можно найти решение.
>но в твоем случае, я бы еще раз обдумал топологию и адресацию.
>ну фигня в том, что приходит одна оптика. Сеть единая, но траффик надо делить на 4 части... и чтоб провайдер сам его считал. Что еще придумать?
>>интерфейсы не должны быть в одной подсети.
>
>как иначе мне сделать четыре адреса.... по-крайней мере реальных на 2х машинах?
>Доп адреса из одной сети прописываются с маской 255.255.255.255
ща нарисую и вышлю тебе мое предположение...
попробую предположить...192.168.1.0 --
192.168.2.0 --
>--swich--><-->eht0|bsd|eth1<-->|пров|
192.168.3.0 --
192.168.4.0 --eth0 (адреса шлюзов для сеток)
192.168.1.254
alias 192.168.2.254
alias 192.168.3.254
alias 192.168.4.254eth1
217.195.93.83
alias 217.195.93.84
alias 217.195.93.85
alias 217.195.93.86нат на 4 портах
natd -a 217.195.93.83 -p 8668
natd -a 217.195.93.84 -p 8778
natd -a 217.195.93.85 -p 8888
natd -a 217.195.93.86 -p 8998пров
217.195.93.87потом
ipfw 10 add divert 8668 ip from 192.168.1.0/24 to any
ipfw 20 add divert 8778 ip from 192.168.2.0/24 to any
ipfw 20 add divert 8888 ip from 192.168.3.0/24 to any
ipfw 20 add divert 8998 ip from 192.168.4.0/24 to any
+добавить обратку...критикуйте. интересно как экперимент.
теперь все уперлось в алиасы
почему-то их он не добавляет...
прописал
ifconfig_rl1="inet 192.168.1.1 netmask 255.255.0.0"
ifconfig_rl1_alias0="inet 192.168.2.1 netmask 255.255.0.0"
ifconfig_rl1_alias1="inet 192.168.3.1 netmask 255.255.0.0"
ifconfig_rl1_alias2="inet 192.168.4.1 netmask 255.255.0.0"
в ответ тишина
поднимается только 1.1
>теперь все уперлось в алиасы
>почему-то их он не добавляет...
>прописал
>ifconfig_rl1="inet 192.168.1.1 netmask 255.255.0.0"
>ifconfig_rl1_alias0="inet 192.168.2.1 netmask 255.255.0.0"
>ifconfig_rl1_alias1="inet 192.168.3.1 netmask 255.255.0.0"
>ifconfig_rl1_alias2="inet 192.168.4.1 netmask 255.255.0.0"
>в ответ тишина
>поднимается только 1.1сетка класса С
сделай маску 255.255.255.0
для алиасов 255.255.255.255
маска все 255
>маска все 255
ага, догадался
итого
router# cat /etc/rc.conf
network_interfaces="rl0 rl1 ed0 lo0"
ifconfig_rl0="inet 10.0.0.5 netmask 255.255.255.0"
ifconfig_rl0_alias0="inet 10.0.0.6 netmask 255.255.255.255"
ifconfig_rl0_alias1="inet 10.0.0.7 netmask 255.255.255.255"
ifconfig_rl0_alias2="inet 10.0.0.8 netmask 255.255.255.255"
ifconfig_rl0_alias3="inet 10.0.0.9 netmask 255.255.255.255"
ifconfig_rl1="inet 192.168.1.1 netmask 255.255.0.0"
ifconfig_rl1_alias0="inet 192.168.2.1 netmask 255.255.255.255"
ifconfig_rl1_alias1="inet 192.168.3.1 netmask 255.255.255.255"
ifconfig_rl1_alias2="inet 192.168.4.1 netmask 255.255.255.255"
ifconfig_ed0="inet 192.168.5.1 netmask 255.255.255.0"
defaultrouter="10.0.0.1"
hostname="router.local"
gateway_enable="YES"
tcp_extensions="NO"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
firewall_enable="YES"
firewall_type="OPEN"router# cat /etc/rc.local
natd -a 10.0.0.5 -p 8668 -dynamic -use_sockets -same_ports
natd -a 10.0.0.6 -p 8778 -dynamic -use_sockets -same_ports
natd -a 10.0.0.7 -p 8888 -dynamic -use_sockets -same_ports
natd -a 10.0.0.8 -p 8998 -dynamic -use_sockets -same_ports
natd -a 10.0.0.9 -p 8008 -dynamic -use_sockets -same_portsrouter# cat /etc/rc.firewall
case ${firewall_type} in
[Oo][Pp][Ee][Nn])
setup_loopback
${fwcmd} add 10 divert 8668 ip from 192.168.1.0/24 to any
${fwcmd} add 10 divert 8668 ip from any to 192.168.1.0/24
${fwcmd} add 20 divert 8778 ip from 192.168.2.0/24 to any
${fwcmd} add 20 divert 8778 ip from any to 192.168.2.0/24
${fwcmd} add 30 divert 8888 ip from 192.168.3.0/24 to any
${fwcmd} add 30 divert 8888 ip from any to 192.168.3.0/24
${fwcmd} add 40 divert 8998 ip from 192.168.4.0/24 to any
${fwcmd} add 40 divert 8998 ip from any to 192.168.4.0/24
${fwcmd} add 50 divert 8008 ip from 192.168.5.0/24 to any
${fwcmd} add 50 divert 8008 ip from any to 192.168.5.0/24
${fwcmd} add 65000 pass all from any to any
Счетчики растут, правда только в прямую сторону, ничего не ходит.
С этой машины инет ходит, с внутреннего интерфейса - ноль.
00050 120 7200 divert 8008 ip from 192.168.5.0/24 to any
00050 0 0 divert 8008 ip from any to 192.168.5.0/24
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65000 536 40469 allow ip from any to any
65535 0 0 deny ip from any to anyсоответственно не пашет
довел ситуацию до того, что пакеты по счетчику ipfw ходят в обе стороны.
пингуется изнутри и внутренний 192.168.5.1 и внешний 10.0.0.5 интерфейс...
дальше на .1 не уходит, хотя сама машина спокойно в инет ходит
>довел ситуацию до того, что пакеты по счетчику ipfw ходят в обе
>стороны.
>пингуется изнутри и внутренний 192.168.5.1 и внешний 10.0.0.5 интерфейс...
класно, молодец>дальше на .1 не уходит, хотя сама машина спокойно в инет ходит
>
не понял. подробнее
>не понял. подробнееПодробнее - машина нормально имеет доступ в инет. Естественно внешними интерфейсами. С внутренних можно пинговать внутренние и внешние интерфейсы, но дальше их не уйти. Пакеты на .1 (мой главный роутер) не уходят, счетчики тамошнего ipfw по нулям.
Тоесть завожу машину в подсетку к примеру 192.168.5.1, эта машина пингует спокойно 192.168.5.1, 10.0.0.5 (мой тестовый якобы внешний адрес), но на главный роутер не уходит ничего.
>>не понял. подробнее
>
>Подробнее - машина нормально имеет доступ в инет. Естественно внешними интерфейсами. С
>внутренних можно пинговать внутренние и внешние интерфейсы, но дальше их не
>уйти. Пакеты на .1 (мой главный роутер) не уходят, счетчики тамошнего
>ipfw по нулям.
>Тоесть завожу машину в подсетку к примеру 192.168.5.1, эта машина пингует спокойно
>192.168.5.1, 10.0.0.5 (мой тестовый якобы внешний адрес), но на главный роутер
>не уходит ничего.
чтоб подитожить+найти затык
netstat -rn поглядим
ipwf -a l
>
>router# cat /etc/rc.local
>natd -a 10.0.0.5 -p 8668 -dynamic -use_sockets -same_ports
>natd -a 10.0.0.6 -p 8778 -dynamic -use_sockets -same_ports
>natd -a 10.0.0.7 -p 8888 -dynamic -use_sockets -same_ports
>natd -a 10.0.0.8 -p 8998 -dynamic -use_sockets -same_ports
>natd -a 10.0.0.9 -p 8008 -dynamic -use_sockets -same_ports
>
....
соответственно не пашет - не будет, потому что нат не правильно запущен:надо было вот так:
>natd -a 10.0.0.5 -p 8668 -dynamic -same_ports -use_sockets
сам стоял на таких же граблях - порядок ключей оказывается имеет значение
>надо было вот так:
>
>>natd -a 10.0.0.5 -p 8668 -dynamic -same_ports -use_sockets
>
>сам стоял на таких же граблях - порядок ключей оказывается имеет значение
исправил, но ситуация не изменилась
router# netstat -rn
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 0 rl0
10/24 link#1 UC 0 0 rl0
10.0.0.1 00:10:5a:67:df:3d UHLW 1 196 rl0 1007
10.0.0.6/32 link#1 UC 0 0 rl0
10.0.0.7/32 link#1 UC 0 0 rl0
10.0.0.8/32 link#1 UC 0 0 rl0
10.0.0.9/32 link#1 UC 0 0 rl0
10.0.0.50 00:d0:b7:2a:38:25 UHLW 0 21 rl0 1195
127.0.0.1 127.0.0.1 UH 0 0 lo0
192.168.0/16 link#3 UC 0 0 rl1
192.168.2.1/32 link#3 UC 0 0 rl1
192.168.3.1/32 link#3 UC 0 0 rl1
192.168.4.1/32 link#3 UC 0 0 rl1
192.168.5.1/32 link#3 UC 0 0 rl1
192.168.5.10 00:0e:9b:9d:2d:8d UHLW 0 63 rl1 1086router# ipfw -a l
00010 19 1064 divert 8668 ip from 192.168.1.0/24 to any
00010 0 0 divert 8668 ip from any to 192.168.1.0/24
00020 0 0 divert 8778 ip from 192.168.2.0/24 to any
00020 0 0 divert 8778 ip from any to 192.168.2.0/24
00030 0 0 divert 8888 ip from 192.168.3.0/24 to any
00030 0 0 divert 8888 ip from any to 192.168.3.0/24
00040 0 0 divert 8998 ip from 192.168.4.0/24 to any
00040 0 0 divert 8998 ip from any to 192.168.4.0/24
00050 137 9591 divert 8008 ip from 192.168.5.0/24 to any
00050 22 1244 divert 8008 ip from any to 192.168.5.0/24
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65000 654 61993 allow ip from any to any
65535 0 0 deny ip from any to any
Варианты закончились? :)
>Варианты закончились? :)
правила 100, 200, 300 поставь в начало.
далее нат запусти ручками только с адресами и портом
потом ps xa - проверка на наличие поднятого ната
видно что пакеты уходят. нужно узнать с каких адресов.
есть ли возможность посмотреть на 10.0.0.1 с каких адресов
идет пинг когда ты пингуешь с локали, для проверки ната?
>Варианты закончились? :)
+
в 65000 правило добавь лог. потом tail -f /var/log/security
и поглядим кто куда
привет. ну что не поднялось...
пиши 250669862, подумаем
Для резюмирования напишу ответ.
Все правильно, кроме того, что на обратку надо прописывать нат не с any to inside.net, а с any to outside.netу меня это выглядит так:
divert 8888 ip from 192.168.3.0/24(внутренний интерфейс) to any
divert 8888 ip from any to 10.0.0.7(внешний интерфейс)