Страница 1 из 1
IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-23 22:36:55
slbond86
Здравствуйте. Обыскал ни один форум, искал уже вроде везде. Но немогу найти ответ на такой вопрос:
У меня домашний компьютер с FreeBSD 7.1 который хочу настроить как шлюз в инет. Есть два сетевых интерфейса rl0-внешний и rl1 -внутренний. rl0 подключен к локальной городской сети провайдера а инет подключаю через mpd. Причем оба внешних интерфейса rl0 b ng0(полученный при подключении mpd) получают IP адреса от DHCP серверов провайдера.
Настроил ipfw, squip как указанно в статье на этом сайте. Вроде все работает если каждый раз прописываю IP внешних интерфейсов в ручную.
При перезагрузке Free надо снова прописывать все заново т.к. адреса меняются. ивручную перезапускать службы с новыми настройками.
Может быть можно както записать параьетры IpOut в ipfw.rules и tcp_outgoing_address в squip чтоб IP сами обнавлялись. Например как в rc.conf ifconfig rl0="DHCP"
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-23 23:34:27
schizoid
в фаере мне кажется можно рулить через интерфейс, просто по имени интерфейса, а не по ИПу.
в сквиде не знаю, не юзаю.
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-24 0:36:19
fox
я не вкурил вопроса что тебе не нраветса в денамическом IP?
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-24 9:25:09
zingel
скриптом
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-24 11:30:03
FenX
для ipfw можно получать IP из вывода ifconfig`а
просто в скрипт правил добавь
Код: Выделить всё
ipaddr=`ifconfig rl0 | grep inet | awk '{print($2)}'`
rl0 замени на имя твоего интерфейса.
как в сквиде - хрен знает

давно сквид не юзал
да и вопрос:
если юзаешь для домашней сети, нахрена тебе сквид вообще?
просто заверни трафик натом и всё.
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-24 13:02:46
skeletor
А какая проблема в squid'e?
У меня в конфиге squid'a прописано так
В файерволе
Код: Выделить всё
00710 allow ip from 10.10.10.0/24 to me dst-port 3128
00720 fwd 127.0.0.1,3128 ip from 10.10.10.0/24 to any dst-port 80
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-24 13:24:53
FenX
блин)) я уж и забыл, что сквид не вяжеЦо к определённому ипу)
значит после установки "динамической" переменной в правила фаера, вместо статики,
проблемы должны отпасть.
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-24 14:04:51
skeletor
Ну да.
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-24 20:36:54
iZEN
В PF для динамических IP имя интерфейса заключают в круглые скобки:
($ext_if)
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-03-24 22:31:40
slbond86
FenX писал(а):для ipfw можно получать IP из вывода ifconfig`а
просто в скрипт правил добавь
Код: Выделить всё
ipaddr=`ifconfig rl0 | grep inet | awk '{print($2)}'`
rl0 замени на имя твоего интерфейса.
Большое спасибо. После прочтения статьи
http://www.lissyara.su/?id=1707 я вчера и сам дошел до того что надо в ipwf.rules заместо статического IP вписать строчку:
Код: Выделить всё
IpOut=`ifconfig rl0 | grep "inet" | cut -d " " -f 2`
где rl0 - сетевуха смотрящая в сторону провайдера
правда написать что разабрался не смог нехватило сил так как было 4 часа а к 6 мне вставать на работу.
После приведенных изменений локалка заработала на ура на всех компах домашней сети
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-05-10 10:24:17
denmariupol
Добрый день,подобная схема не работает,когда ip меняется раз в сутки,как быть в такой ситуации?По времени дергать тоже не выход,т.к.возможны ситуации,когда обрыв сессии может быть не запланирован.Можно ли в Ipfw nat назначить на интерфейс?
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-05-10 11:51:03
FenX
natd и так привязывается к интерфейсу.
а что касается динамики: какой тип соединения? vpn?
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-05-10 17:22:42
denmariupol
Нат ядерный,его,я так понял нельзя привязать к интерейсу,поправьте если ошибаюсь.Тип соединения pppoe.
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-05-10 18:55:47
FenX
почему нельзя?
Код: Выделить всё
$fw nat 1 config if $eif
$fw add nat 1 ip from $local to any out via $eif
$fw add nat 1 ip from any to me in via $eif
Код: Выделить всё
$fw="/sbin/ipfw"
$local="10.0.0.0/29"
$eif="rl0"
по идеи должно работать.
а так, можно сделать ещё проще:
Код: Выделить всё
$fw add nat 1 ip from any to "table(1)" in via $eif
и уже при установке соединения, или обновлении сессии,
запускать скрипт, обновляющий инфу в таблице.
тогда вообще не придётся правила трогать в последствии.
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-05-10 20:21:27
denmariupol
Дико благодарю,нат работает.
Еще вопрос.Подключение с помощью mpd5 пинги ходят,некоторые сайты открываются,но большинство нет,в чем может быть причина.
mpd.conf.
Код: Выделить всё
startup:
default:
load pppoe_client
pppoe_client:
create bundle static B1
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pppoe
set link action bundle B1
set iface enable tcpmssfix
set pppoe disable windowing
set auth authname **********
set auth password *********
set link max-redial 0
set link keep-alive 10 60
set pppoe iface rl0
set pppoe service ""
open
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-05-10 21:14:44
iZEN
denmariupol писал(а):Дико благодарю,нат работает.
Еще вопрос.Подключение с помощью mpd5 пинги ходят,некоторые сайты открываются,но большинство нет,в чем может быть причина.
Проблема в большом MTU. Нужно сделать MTU=1452.
Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP
Добавлено: 2009-05-10 21:24:14
paradox
tcpmssfix нужно ставить
и чить документацию хотя бы поверхностно