Добрый день. Вот такая проблема.
Есть две машины комп1 и комп2
комп1 = FreeBSD, имеет два сетевых интерфейса rl0 и vr0
rl должен быть нацелен в инет. Что я для этого делаю
ifconfig rl0 193.24.23.35 netmask 255.255.255.248 up
vr0 должен быть нацелен локально
ifconfig vr0 192.168.0.30 netmask 255.255.255.0 up
Дальше для rl нужно настроить шлюз, вот тут то я допускаю ошибки, где именно не пойму. Что я делаю
Изначально, так как ip для инета статический пров. выделил шлюз 193.24.23.30, плюс два dns 193.24.22.6 193.24.22.33. Естественно что dns я просто прописываю в resolv.conf. А вот со шлюзом дело сложнее. Я считаю что для локальной сети шлюзом будет являться карта rl0, а для нее уже в свою очередь шлюзом будет тот что назначил провайдер следуя этой логике я делаю следующее
route add default 193.24.23.30
route add -host 193.24.23.35 -gateway 193.24.23.30
Как я думаю, после этого должно наступить всеобщее счастье.Проверяю
ping bbb.com И вот тут выходит ошибка
говорит что при arp запросе машина неможет сопоставить аппаратный адрес ip-шнику. Что делать незнаю помогите в решении проблемы пожалуйста.
Примем, что
193.24.23.35 - твой реальный айпишник выданный провом
193.24.23.30 - шлюз выданный провом.
rl0 - смотрит в сеть врова.
vr0 - смотрит в твою локальную сеть.
192.168.0.30 - твой айпишник в локальной сети.ifconfig rl0 193.24.23.35 netmask 255.255.255.248 up
ifconfig vr0 192.168.0.30 netmask 255.255.255.0 up
route add default 193.24.23.30
Всё правильно.
На компах в локалке шлюзом по умолчанию ставишь 192.168.0.30 Вообщем смысл в том, что комп в локалке не зная куды направить пакет шлёт его на шлюз по умолчанию, т.е. на твой комп с FreeBSD, а он в свою очередь не зная куды слать етот пакет шлёт его на свой шлюз по умолчанию... Вообщем почитай чего-нить чего-нить на тему маршрутизации ;)К тому же в локалке у тебя "серые" айпишники соответсвенно тебе нужет NAT.
P.S. route add -host 193.24.23.35 -gateway 193.24.23.30 - а вот это ты вообще загадачно замутил :)
>Примем, что
>193.24.23.35 - твой реальный айпишник выданный провом
>193.24.23.30 - шлюз выданный провом.
>rl0 - смотрит в сеть врова.
>vr0 - смотрит в твою локальную сеть.
>192.168.0.30 - твой айпишник в локальной сети.
>
>ifconfig rl0 193.24.23.35 netmask 255.255.255.248 up
>ifconfig vr0 192.168.0.30 netmask 255.255.255.0 up
>route add default 193.24.23.30
>Всё правильно.
>На компах в локалке шлюзом по умолчанию ставишь 192.168.0.30 Вообщем смысл в
>том, что комп в локалке не зная куды направить пакет шлёт
>его на шлюз по умолчанию, т.е. на твой комп с FreeBSD,
>а он в свою очередь не зная куды слать етот пакет
>шлёт его на свой шлюз по умолчанию... Вообщем почитай чего-нить чего-нить
>на тему маршрутизации ;)
>
>К тому же в локалке у тебя "серые" айпишники соответсвенно тебе нужет
>NAT.
>
>P.S. route add -host 193.24.23.35 -gateway 193.24.23.30 - а вот это ты
>вообще загадачно замутил :)
Вот именно о NAT. Нат я тоже вроди бы поднял, я щас конкретно не припомню, но поднимал его руководствясь книгой по фри то есть в rc.conf что то прописывал на YES, сто то связанное именно с NAT а как далее его настривать я не в курсе. Но возвращаясь к моим настройкам если у меня все правильно то почему ничего неработает. Дело в том что я кончно изначально обратился к книгам так как тема маршрутизации довольно таки сложная и объемная, как понял настроил но видимо что то недопонял. Вот что именно хотелось бы знать.
>Вот именно о NAT. Нат я тоже вроди бы поднял, я щас
>конкретно не припомню, но поднимал его руководствясь книгой по фри то
>есть в rc.conf что то прописывал на YES, сто то связанное
>именно с NAT а как далее его настривать я не в
>курсе. Но возвращаясь к моим настройкам если у меня все правильно
>то почему ничего неработает. Дело в том что я кончно изначально
>обратился к книгам так как тема маршрутизации довольно таки сложная и
>объемная, как понял настроил но видимо что то недопонял. Вот что
>именно хотелось бы знать.Всё предельно просто:
На приемнике вызова (допустим на 220.220.220.220:80) появился запрос на открытие соединения с адреса из вашей локальной сети 192.168.0.33.
Вопрос:
Куда хост 220.220.220.220 должен слать ответ?
Именно это происходит, если у вас неправильно настроен НАТ или форвард адресов. Ваш шлюз ОБЯЗАН заменять адрес 192.168.0.33 на свой и обратно.
Вот запутали то человека.
Вообщем нужно ядро с нужными параметрами скомпелить и настроить
firewalloptions IPFIREWALL
options IPFIREWALL_VERBOSEoptions IPFIREWALL_FORWARD - если 5.3
options IPDIVERT
options DUMMYNET/etc/rc.firewall
>Вот запутали то человека.
>Вообщем нужно ядро с нужными параметрами скомпелить и настроить
>firewall
>
>options IPFIREWALL
>options IPFIREWALL_VERBOSE
>
>options IPFIREWALL_FORWARD - если 5.3
>
>options IPDIVERT
>options DUMMYNET
>
>/etc/rc.firewall
Спасибо за реомендации. Ядро я с этими параметрами скомпилил, и еще в rc.conf прописал natd_enable="yes", gateway="yes"( что то в этом роде ) еще параметры firewall_enable="yes" а еще там я прописал параметр, точно непню его название но суть его в том что он назначает демон natd на конкретный интерфейс я пробывал его поставить и на vr0 и на rl0.
Вот ребята поправте меня если я неправ. Смотрите.
По логике вещей. допустим у меня один сетевой интерфейс и мне ненужна форвардинг. я делаю так ifconfig vr0 down
все у меня только один rl0
который
ifconfig rl0 193.24.23.35 netmask 255.255.255.248 up
route delete deafult
route add deafult 193.24.23.35
route add -host 193.24.23.30 -gateway 193.24.23.30
при этом 193.24.23.30 шлюз хоста
193.24.23.35 мой ip назначеный провом.
а так же
в файле /etc/resolv.conf
nameserver 193.24.22.6 dns назначеный провом
nameserver 193.24.22.33 dns назначеный провом
.......................
поидее дав команду
ping foo.com
я должен тут же подучить ответ, а получаю
host resolv lookup error или что то в этом роде.
Что делать ума неприложу
Где я ошибаюсь ?