IP внешнего интерфейса в ipfw и squip если они присв DHCP

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
slbond86
проходил мимо
Сообщения: 7
Зарегистрирован: 2009-03-23 17:10:17

IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение slbond86 » 2009-03-23 22:36:55

Здравствуйте. Обыскал ни один форум, искал уже вроде везде. Но немогу найти ответ на такой вопрос:

У меня домашний компьютер с 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"

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

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение schizoid » 2009-03-23 23:34:27

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

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение fox » 2009-03-24 0:36:19

я не вкурил вопроса что тебе не нраветса в денамическом IP?
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение zingel » 2009-03-24 9:25:09

скриптом
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение FenX » 2009-03-24 11:30:03

для ipfw можно получать IP из вывода ifconfig`а
просто в скрипт правил добавь

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

ipaddr=`ifconfig rl0 | grep inet | awk '{print($2)}'`
rl0 замени на имя твоего интерфейса.

как в сквиде - хрен знает :)
давно сквид не юзал :)

да и вопрос:
если юзаешь для домашней сети, нахрена тебе сквид вообще?
просто заверни трафик натом и всё.

Аватара пользователя
skeletor
майор
Сообщения: 2515
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение skeletor » 2009-03-24 13:02:46

А какая проблема в squid'e?
У меня в конфиге squid'a прописано так

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

http_port 127.0.0.1:3128 transparent
В файерволе

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

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
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение FenX » 2009-03-24 13:24:53

блин)) я уж и забыл, что сквид не вяжеЦо к определённому ипу)
значит после установки "динамической" переменной в правила фаера, вместо статики,
проблемы должны отпасть.

Аватара пользователя
skeletor
майор
Сообщения: 2515
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение skeletor » 2009-03-24 14:04:51

Ну да.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1089
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение iZEN » 2009-03-24 20:36:54

В PF для динамических IP имя интерфейса заключают в круглые скобки:
($ext_if)
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

Аватара пользователя
slbond86
проходил мимо
Сообщения: 7
Зарегистрирован: 2009-03-23 17:10:17

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение slbond86 » 2009-03-24 22:31:40

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 мне вставать на работу.
После приведенных изменений локалка заработала на ура на всех компах домашней сети

denmariupol
рядовой
Сообщения: 20
Зарегистрирован: 2009-05-02 19:48:10

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение denmariupol » 2009-05-10 10:24:17

Добрый день,подобная схема не работает,когда ip меняется раз в сутки,как быть в такой ситуации?По времени дергать тоже не выход,т.к.возможны ситуации,когда обрыв сессии может быть не запланирован.Можно ли в Ipfw nat назначить на интерфейс?

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение FenX » 2009-05-10 11:51:03

natd и так привязывается к интерфейсу.

а что касается динамики: какой тип соединения? vpn?

denmariupol
рядовой
Сообщения: 20
Зарегистрирован: 2009-05-02 19:48:10

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение denmariupol » 2009-05-10 17:22:42

Нат ядерный,его,я так понял нельзя привязать к интерейсу,поправьте если ошибаюсь.Тип соединения pppoe.

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение FenX » 2009-05-10 18:55:47

почему нельзя?

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

$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
и уже при установке соединения, или обновлении сессии,
запускать скрипт, обновляющий инфу в таблице.
тогда вообще не придётся правила трогать в последствии.

denmariupol
рядовой
Сообщения: 20
Зарегистрирован: 2009-05-02 19:48:10

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение denmariupol » 2009-05-10 20:21:27

Дико благодарю,нат работает.
Еще вопрос.Подключение с помощью 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

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1089
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение iZEN » 2009-05-10 21:14:44

denmariupol писал(а):Дико благодарю,нат работает.
Еще вопрос.Подключение с помощью mpd5 пинги ходят,некоторые сайты открываются,но большинство нет,в чем может быть причина.
Проблема в большом MTU. Нужно сделать MTU=1452.
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IP внешнего интерфейса в ipfw и squip если они присв DHCP

Непрочитанное сообщение paradox » 2009-05-10 21:24:14

tcpmssfix нужно ставить
и чить документацию хотя бы поверхностно