Тема: как подставить внешний ip-адрес локальному

Доброго времени суток уважаемые!
шлюзом служит машина с freebsd 8.2 на борту, ipfw и natd работают на ядерном уровне.
провайдер выделил целый пул адресов на эту машину. Теперь есть необходимость вывести 2 компьютера в локальной сети (192.168.00/24) , так, чтобы при выходе у них были адреса из другого адресного пространства (10.0.0.0/24).
если прописать в нате redirect_address, то получается, что эти компьютеры лезут в инет с реальными адресами.
Подскажите пожалуйста, каким образом можно проделать?

2

Re: как подставить внешний ip-адрес локальному

откуда взялась сеть 10.0.0.0/24?

3 (02-02-2013 12:08:28 отредактировано Павел Иванов)

Re: как подставить внешний ip-адрес локальному

crash пишет:

откуда взялась сеть 10.0.0.0/24?

это внешняя сеть по отношению к нашей локальной сети.
Наша локальная сеть входит в состав другой сети.

4

Re: как подставить внешний ip-адрес локальному

то есть это адреса что дал провайдер?

Добавлено: 02-02-2013 15:31:56

и что именно вы настраивали?

5 (02-02-2013 13:47:33 отредактировано Павел Иванов)

Re: как подставить внешний ip-адрес локальному

ага, эти адреса дал провайдер

в rc.conf добавил алиас на внешнюю карту:

ifconfig_sk1="inet 10.0.0.1  netmask 255.255.255.0"  (адрес внешней сетевой карты)
ifconfig_sk1_alias0="inet 10.0.0.2 netmask 255.255.255.0" (алиас)

в rc.wirewall добавил строчку :
ipfw add divert natd ip from any to any out via sk1

в natd.conf добавил строчку
redirect_address 192.168.0.12 10.0.0.2

я полагал, что при таких параметрах, машина с адресом 192.168.0.12 во внешку будет натится адресом 10.0.0.2, однако, как говорит провайдер - он видит реальный адрес машины

6

Re: как подставить внешний ip-адрес локальному

а для чего вы настроили алиас? Удалите эту строчку. Хотя freebsd вроде хочет алиас. Но я бы для эксперимента удалил.

Добавлено: 02-02-2013 17:14:01

подозреваю что надо почитать https://www.freebsd.org/cgi/man.cgi?quer … ;sektion=8 там в конце есть типа что-то примера. И по идее должно быть правило, которое натит через sk1_alias0

Re: как подставить внешний ip-адрес локальному

crash пишет:

а для чего вы настроили алиас? Удалите эту строчку. Хотя freebsd вроде хочет алиас. Но я бы для эксперимента удалил.

Добавлено: 02-02-2013 17:14:01

подозреваю что надо почитать https://www.freebsd.org/cgi/man.cgi?quer … ;sektion=8 там в конце есть типа что-то примера. И по идее должно быть правило, которое натит через sk1_alias0

ОК, спасибо, прочитаю, обязательно отпишусь

8

Re: как подставить внешний ip-адрес локальному

как я вижу на основе примера, должно быть что-то типа

ipfw add     skipto 1000 ip from 192.168.0.12 to any out via sk1_alias0
ipfw add     skipto 2000 ip from any to any out via sk1
ipfw add 1000 count ip from any to any
ipfw add     divert 1000 ip from any to any
ipfw add     allow ip from any to any
ipfw add 2000 count ip from any to any
ipfw add     divert 2000 ip from any to any
ipfw add     allow ip from any to any

Добавлено: 02-02-2013 19:12:26

возможно sk1_alias0 надо заменить на sk1 в правиле, но это надо эксперемнтировать

9 (05-02-2013 10:31:51 отредактировано Павел Иванов)

Re: как подставить внешний ip-адрес локальному

к сожалению, этот фокус не прокатил.
при данной схеме связь с сервером, почему то, пропадает.

10

Re: как подставить внешний ip-адрес локальному

ну остальные правила которые были у вас надо оставить, я только привел правила касаемо NAT

Re: как подставить внешний ip-адрес локальному

ага, верно!
только это тоже не помогло. что то в настройках проставил не так, потому что заметил, что пакеты идут по правилу
00100     0       0 divert 8668 ip from any to any out via sk1

12

Re: как подставить внешний ip-адрес локальному

так это правило убрать, NAT сделали по другому. Ну номера правил это я тоже как пример привел.