FreeBSD NAT on lo0

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

FreeBSD NAT on lo0

Непрочитанное сообщение harmless » 2013-02-06 2:01:49

Все доброе время суток!
Вот задался вопросом - А можно ли так сделать?
Имея сервер с такой вот конфигурацией сети

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

test# ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:0c:29:bb:af:1b
        inet6 fe80::20c:29ff:febb:af1b%em0 prefixlen 64 scopeid 0x1
        inet 192.168.1.128 netmask 0xffffff00 broadcast 192.168.1.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:0c:29:bb:af:25
        inet6 fe80::20c:29ff:febb:af25%em1 prefixlen 64 scopeid 0x2
        inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:0c:29:bb:af:2f
        inet6 fe80::20c:29ff:febb:af2f%em2 prefixlen 64 scopeid 0x3
        inet 1.2.3.5 netmask 0xffffff00 broadcast 195.88.43.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet 127.0.0.1 netmask 0xff000000
        inet 1.2.3.10 netmask 0xffffffff
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Через em0 и em2 будем получать bgp fullview
За em1 серая сетка
Хочется:
выпускать сеть 10.0.0.0/24 через NAT на IP 1.2.3.10(просто при падении одного из аплинков чтоб эта сеть натилась все в тот же IP).
Возможно ли такое сделать?

Вот что вышло

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

test# ipfw -atc list
00001 4787  344728                         reass in
00002    0       0                         deny icmp from any to any frag
00003    0       0                         deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00004    0       0                         deny dst-ip me ipoptions ssrr,lsrr,rr,ts
00005    0       0                         reject tcp from any to any { tcpflags syn,fin,ack,psh,rst,urg or tcpflags !syn,!fin,!ack,!psh,!rst,!urg }
00006    0       0                         reject tcp from any to any not established tcpflags fin
00100   38    3548 Wed Feb  6 00:56:25 2013 skipto 10000 in via lo0
00101   38    3548 Wed Feb  6 00:56:25 2013 skipto 15000 out via lo0
00102 3006  193809 Wed Feb  6 00:57:16 2013 skipto 20000 in via em0
00103 2766 1146628 Wed Feb  6 00:57:16 2013 skipto 25000 out via em0
00104 1669  135591 Wed Feb  6 00:57:15 2013 skipto 30000 in via em1
00105   25    5479 Wed Feb  6 00:54:45 2013 skipto 35000 out via em1
00106   74   11780 Wed Feb  6 00:53:20 2013 skipto 40000 in via em2
00107 1691  134586 Wed Feb  6 00:57:15 2013 skipto 45000 out via em2
10000   38    3548 Wed Feb  6 00:56:25 2013 count in
10001   38    3548 Wed Feb  6 00:56:25 2013 allow in
15000   38    3548 Wed Feb  6 00:56:25 2013 count out
15001   38    3548 Wed Feb  6 00:56:25 2013 allow out
20000 3006  193809 Wed Feb  6 00:57:16 2013 count in
20001 3006  193809 Wed Feb  6 00:57:16 2013 allow in
25000 2766 1146628 Wed Feb  6 00:57:16 2013 count out
25001 2766 1146628 Wed Feb  6 00:57:16 2013 allow out
30000 1669  135591 Wed Feb  6 00:57:15 2013 count in
30001 1669  135591 Wed Feb  6 00:57:15 2013 allow in
35000   25    5479 Wed Feb  6 00:54:45 2013 count out
35001   25    5479 Wed Feb  6 00:54:45 2013 allow out
40000   74   11780 Wed Feb  6 00:53:20 2013 count in
40001   11    3869 Wed Feb  6 00:53:20 2013 nat 200 log in
44999   49    8226 Wed Feb  6 00:53:20 2013 allow log in
45000 1691  134586 Wed Feb  6 00:57:15 2013 count out
45001  142    5680 Wed Feb  6 00:57:15 2013 nat 200 log ip from 10.0.0.0/24 to any out
49999 1395  109722 Wed Feb  6 00:57:15 2013 allow out
65534    0       0                         allow
65535    0       0                         deny ip from any to any

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

test# ipfw nat 200 show config
ipfw nat 200 config ip 1.2.3.10 log same_ports unreg_only reset
Маршрут к 1.2.3.10 на аплинках есть и виден

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

C:\Windows\system32>ping 1.2.3.10
Обмен пакетами с 1.2.3.10 по с 32 байтами данных:
Ответ от 1.2.3.10: число байт=32 время=1мс TTL=64
Ответ от 1.2.3.10: число байт=32 время<1мс TTL=64
Ответ от 1.2.3.10: число байт=32 время<1мс TTL=64
Ответ от 1.2.3.10: число байт=32 время<1мс TTL=64

Статистика Ping для 1.2.3.10:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 0мсек, Максимальное = 1 мсек, Среднее = 0 мсек

C:\Windows\system32>
Но от сети 10.0.0.0/24 видно что пакеты в мир уходят а назад уже не возвращаются.

Хостинговая компания 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/

mak_v_
проходил мимо

Re: FreeBSD NAT on lo0

Непрочитанное сообщение mak_v_ » 2013-02-06 18:23:33

Теоретически схема рабочая, хотя нат на lo .....может вылиться в проблемы адресации ведь сеть 195.88.43.0/24 (em2) уже содержит(195.88.43.10 который у вас на lo).
Сети придется правильно "поделить" на lo и em2 для 100%-й уверенности.
ну либо поравьте ТЗ(адреса и маски)

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: FreeBSD NAT on lo0

Непрочитанное сообщение harmless » 2013-02-06 19:51:31

mak_v_ писал(а):Теоретически схема рабочая, хотя нат на lo .....может вылиться в проблемы адресации ведь сеть 195.88.43.0/24 (em2) уже содержит(195.88.43.10 который у вас на lo).
Сети придется правильно "поделить" на lo и em2 для 100%-й уверенности.
ну либо поравьте ТЗ(адреса и маски)
Проблем с маршрутизацией не будет так как

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

 inet 1.2.3.10 netmask 0xffffffff
это сет с одного адреса!

mak_v_
проходил мимо

Re: FreeBSD NAT on lo0

Непрочитанное сообщение mak_v_ » 2013-02-06 22:22:06

Ну исходя из того. что вы запостили:

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

        inet 1.2.3.5 netmask 0xffffff00 broadcast 195.88.43.255
Хрен его знает что оно будет, а вернее НИХЕРА не будет.
Правьте посты.

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: FreeBSD NAT on lo0

Непрочитанное сообщение harmless » 2013-02-06 22:27:48

mak_v_ писал(а):Ну исходя из того. что вы запостили:

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

        inet 1.2.3.5 netmask 0xffffff00 broadcast 195.88.43.255
Хрен его знает что оно будет, а вернее НИХЕРА не будет.
Правьте посты.
Да когда уже читать научимся

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

test# ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        inet 192.168.1.128 netmask 0xffffff00 broadcast 192.168.1.255
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
em2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        inet 1.2.3.5 netmask 0xffffff00 broadcast 195.88.43.255
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 1.2.3.10 netmask 0xffffffff
сеть живет за em2
а на lo0 только 1 адрес

mak_v_
проходил мимо

Re: FreeBSD NAT on lo0

Непрочитанное сообщение mak_v_ » 2013-02-06 23:21:23

сеть
Вы пьяный? ЧИТАЙТЕ то, что САМИ намалякали и ПРАВЬТЕ
1) С этим адресом 1.2.3.5 и с этим бродкастом 195.88.43.255 - у вас НИХЕРА не ЗАРАБОТАЕТ
2)Если Вы опИсались, то с этим адресом 1.2.3.5 и с этой маской 0xffffff00 ваша сеть включает IP 10.2.3.0-10.2.3.255, тоесть и 1.2.3.10
Ещё?

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: FreeBSD NAT on lo0

Непрочитанное сообщение harmless » 2013-02-06 23:25:47

Теперь заметил что не дотёр)
Я не пьяный.
Просто моск уже кипит от данной темы


harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: FreeBSD NAT on lo0

Непрочитанное сообщение harmless » 2013-02-07 1:24:48

Все сделал только голый шаблон
поехали

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

# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:0c:29:93:18:7c
        inet6 fe80::20c:29ff:fe93:187c%em0 prefixlen 64 scopeid 0x2
        inet 1.2.3.5 netmask 0xffffff00 broadcast 1.2.3.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:0c:29:93:18:86
        inet6 fe80::20c:29ff:fe93:1886%em1 prefixlen 64 scopeid 0x4
        inet 192.168.1.128 netmask 0xffffff00 broadcast 192.168.1.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        fib: 1
em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:0c:29:93:18:90
        inet6 fe80::20c:29ff:fe93:1890%em2 prefixlen 64 scopeid 0x5
        inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
lo1: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet 1.2.3.10 netmask 0xffffffff
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

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

# ipfw -c list
00001 reass in
00002 deny icmp from any to any frag
00003 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00004 deny dst-ip me ipoptions ssrr,lsrr,rr,ts
00005 reject tcp from any to any { tcpflags syn,fin,ack,psh,rst,urg or tcpflags !syn,!fin,!ack,!psh,!rst,!urg }
00006 reject tcp from any to any not established tcpflags fin
00100 skipto 10000 in via lo0
00101 skipto 15000 out via lo0
00102 skipto 20000 in via em0
00103 skipto 25000 out via em0
00104 skipto 30000 in via em1
00105 skipto 35000 out via em1
00106 skipto 40000 in via em2
00107 skipto 45000 out via em2
00108 skipto 50000 in via lo1
00109 skipto 55000 out via lo1
10000 count in
10001 allow in
15000 count out
15001 allow out
20000 count in
20001 nat 200 in
24999 allow in
25000 count out
25001 nat 200 out
29999 allow out
30000 count in
30001 nat 100 in
34999 allow in
35000 count out
35001 nat 100 out
39999 allow out
40000 count in
44999 allow in
45000 count out
49999 allow out
50000 count in
54999 allow in
55000 count out
59999 allow out
65535 allow ip from any to any

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

# ipfw nat show config
ipfw nat 200 config ip 1.2.3.10 log same_ports unreg_only reset
ipfw nat 100 config ip 192.168.1.128 log same_ports unreg_only reset
Пока конфиг такой но потом аплинки на em0 em1 будут переведены на /30 сети для получения bgp-сессий и nat 100 нужно будет удалить а в правилах заменить на nat 200

mak_v_
проходил мимо

Re: FreeBSD NAT on lo0

Непрочитанное сообщение mak_v_ » 2013-02-07 1:40:15

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

        inet 1.2.3.5 netmask 0xffffff00 broadcast 1.2.3.255
        inet 1.2.3.10 netmask 0xffffffff
Вам не понятно?

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: FreeBSD NAT on lo0

Непрочитанное сообщение harmless » 2013-02-07 2:06:40

mak_v_ писал(а):

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

        inet 1.2.3.5 netmask 0xffffff00 broadcast 1.2.3.255
        inet 1.2.3.10 netmask 0xffffffff
Вам не понятно?
Что я должен понять?

mak_v_
проходил мимо

Re: FreeBSD NAT on lo0

Непрочитанное сообщение mak_v_ » 2013-02-07 2:19:12

Что вы, простите, ЧУКЧА-ПИСАТЕЛЬ
Возьмите калькулятор и посчитайте "1.2.3.5 netmask 0xffffff00" - это диапазон адресов 1.2.3.0-1.2.3.255, а он УЖЕ содержит 1.2.3.10, а оно у вас на разных интерфейсах!
Соберитесь наконец и проанализируйте ситуацию!
Если Вас устраивает "костыль" - пилите и ставьте, грабли потом сами грести будете.

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: FreeBSD NAT on lo0

Непрочитанное сообщение harmless » 2013-02-07 9:23:43

mak_v_ писал(а):Что вы, простите, ЧУКЧА-ПИСАТЕЛЬ
Возьмите калькулятор и посчитайте "1.2.3.5 netmask 0xffffff00" - это диапазон адресов 1.2.3.0-1.2.3.255, а он УЖЕ содержит 1.2.3.10, а оно у вас на разных интерфейсах!
Соберитесь наконец и проанализируйте ситуацию!
Если Вас устраивает "костыль" - пилите и ставьте, грабли потом сами грести будете.
А чем вас не устраивает?
Я же сказал что будут bgp-сессии. Анонс AP будет с этого адреса!

mak_v_
проходил мимо

Re: FreeBSD NAT on lo0

Непрочитанное сообщение mak_v_ » 2013-02-07 10:46:22

анонсите хоть с 127.0.0.1....я устал, не видите косяка, не слышите - делайте как описали.