Форум программистов, компьютерный форум, киберфорум
FreeBSD
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
1

FreeBSD 8.3 Client/Server + DHCP + PF

11.09.2012, 11:39. Показов 4367. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется проблема:
Провайдер (DHCP) -> Шлюз (два сетевых интерфейса) -> свич -> Локалка.

Прочитав тонну информации и не почерпнув из них ни грамма, прошу ответить на мой вопрос. Как настроить ШЛЮЗ на фряхе если у провайдера DHCP ??? А именно интересует настройка сетевых интерфесов и файлов rc.conf, dhcp.conf

Конкретнее:

Код
/rc.conf 

#Внешний интерфейс на шлюзе
ifconfig_rl0="DHCP" 

#Внутренний интерфейс на шлюзе
ifconfig_vl0="inet 192.168.0.1 netmak 255.255.255.0"

#До сих пор гадаю какой, раз у меня DHCP
# от провайдера
defaultrouter=" ХЗ "
#тут пробовал разные версии от xx.xx.xx.xx до NONE
В /dhcp.conf у меня всё точно нормально настроено без косяков. Ну по крайней мере настраивал по мануалам которых полно в сети.

Итог: Без DHCP интернет в локалке со статическими адресами есть, а со вкл DHCP на внутреннем сетевом интерфейсе интернета в локалке нЭту. Хотя всё раздаёт и IP и IP шлюза и DNS а интернета и нет, и нет,и нет.

ЗЫ понимаю что тема изжована до безобразия беззубой собакой, но нигде я не видел конкретного объяснения такой цепочки лишь домыслы и тупые догадки.

ЗЫЫ Забыл совсем, а ещё можете мне написать человеческие настройки /pf.rules, а то мануалы у всех разные а каких-то одних начальных настроек ни у кого-нету, у всех больно специфичные.

ЗЫЫЫЫ Тобишь я хочу DHCP-cleint от провайдера и DHCP-server от своего шлюза.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2012, 11:39
Ответы с готовыми решениями:

FreeBSD 9.0 и isc-dhcp-server
Исходные данные: Виртуальная среда - Hyper-V FreeBSD 9.0 Windows XP isc-dhcp41-server-4.1.e_5,2...

virtualbox с freebsd не получает ip от dhcp сервера
В общем сабж. У меня стоит роутер который раздает dhcp. Все работает. Установил виртуалбокс со...

freebsd и windows 2008 (DNS, DHCP) и роутер
Достались по наследству от других админов, админы были всегда приходящие. в сети 2 сервера...

автоматическое получение IP по DHCP при загрузке FreeBSD
Подскажите на пальцах как сделать автоматическое получение IP при старте компьютера? Когда...

19
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
11.09.2012, 11:44 2
Провайдер реально выдает разные IP-адреса по DHCP ?
Есть два варианта
1) Узнать какой default gateway и прописать его ручками
Маловероятно что будет смена default gateway

2) Ничего не писать в default gateway
Тогда клиент DHCP встроенный в FreeBSD сам должен выставить default gateway при подключении
0
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
11.09.2012, 11:48  [ТС] 3
Попробую Ваш совет вечером как дома буду. Тогда и отпишусь о результате.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
11.09.2012, 11:53 4
1) Переименовываем внешний интерфейс в ext0
2) Переименовываем внутренний интерфейс в int0
Код
# File: /etc/rc.conf
pf_enable="YES"
pf_rules="/etc/pf/pf.conf"
pflog_enable="YES"
Код
# File: /etc/pf/pf.conf
######################################################################
# Macros

######################################################################
# Interfaces

# Interface ext0
ext0_if="ext0"
##ext0_net="x.y.12.64/27"
##ext0_ip="x.y.12.67"
##ext0_gw="x.y.12.65"

# Skip interfaces
skip_if="{ lo }"


######################################################################
# Self ports

# on ext0 to self
ext0_self_tcp_port="{ ssh }"
#ext0_self_udp_port="{ }"


######################################################################
# Tables

# Block tables
table <sshguard> persist

# Interface ext tables
table <block_ext0_from> persist file "/etc/pf/block_ext0_from"


######################################################################
# Options

set loginterface $ext0_if

set block-policy return

set skip on $skip_if


######################################################################
# Traffic Normalization

scrub in all


######################################################################
# Queueing


######################################################################
# Translation


######################################################################
# Packet Filtering

# Default is block
block return log all


######################################################################
# out on $ext0_if

# Allow out from self
pass out quick on $ext0_if inet from self to any


######################################################################
# in on $ext0_if

# Block by src_ip
block drop in log quick on $ext0_if inet from <sshguard> to any
block drop in log quick on $ext0_if inet from <block_ext0_from> to any

# proto tcp
pass in quick on $ext0_if inet proto tcp from any to self port $ext0_self_tcp_port

# proto udp
#pass in quick on $ext0_if inet proto udp from any to self port $ext0_self_udp_port

# proto icmp
pass in quick on $ext0_if inet proto icmp from any to self icmp-type echoreq code 0


######################################################################
# End
Код
# File: /etc/pf/block_ext0_from
Добавлено через 57 секунд
Базовые настройки для сервера с одним интерфейсом ext0
Я с них всегда начинаю создавать правила firewall

Добавлено через 1 минуту
Провайдер реально выдает приватный или публичный IP-адрес ?
В договоре что написано - адрес не зафиксирован ?
0
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
11.09.2012, 12:06  [ТС] 5
Провайдер реально выдает приватный или публичный IP-адрес ?
1) Если смотреть настройки в sysinstall-configuration-network, то IPv4 Gateway и IPv4 Adress всегда разный, при каждом подключении.

2) Netmask всегда одинакова, и Name Server всегда одинаковый.

В договоре что написано - адрес не зафиксирован ?
Договор смогу прочитать только когда буду дома, на память не помню что там написано.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
11.09.2012, 12:08 6
1) Если смотреть настройки в sysinstall-configuration-network, то IPv4 Gateway и IPv4 Adress всегда разный, при каждом подключении
Ну приведи циферки-то

Значит нужно использовать вариант 2
0
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
11.09.2012, 12:20  [ТС] 7
Цитата Сообщение от odip Посмотреть сообщение
Ну приведи циферки-то

Значит нужно использовать вариант 2
IPv4 Gateway 46.72.64.1
IPv4 Adress 46.72.74.29
Netmask 255.255.192.0
DNS IPv4 195.78.61.18
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
12.09.2012, 20:22 8
С большой вероятностью у тебя роутер всегда 46.72.64.1

ifconfig_rl0="SYNCDHCP"
ifconfig_vl0="inet 192.168.0.1 netmak 255.255.255.0"
defaultrouter="46.72.64.1"

Это будет всегда ждать подъема интерфейса rl0
Пока не поднимется - загрузка будет ждать

Добавлено через 3 минуты
Или можно настроить встроенный клиент чтобы получал defaultrouter
Почитай - man dhclient.conf

Редактируешь файл /etc/dhclient.conf
Добавляем в него две строки:
request routers
require routers

Это значит - запросить у DHCP-сервера опцию - routers
И обязательно требовать наличия этой опции в ответе DHCP-сервера

Добавлено через 3 минуты
Перезагрузи комп - проверь что после перезагрузки все нормально загружается
Что получает IP-адрес
Что получает defaultgateway (или он выставлен)
Что в файле /etc/resolv.conf прописан DNS-сервер (его прописывает сам FreeBSD)
Проверить что есть выход в Internet и доступ например к удаленным сайтам
Например: lynx www.freebsd.org

Если это все заработает - тогда настраивай дальше firewall, локальную сеть и клиентов
Пока хоть одна вещь не работает - нужно добиться чтобы работало !
Нет смысла идти дальше
1
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
12.09.2012, 22:58  [ТС] 9
DHCP врде работает как надо, а вот pf съел всю плешЪ мне.

# Разрешем любой трафик со стороны локальной сети
pass in quick on $if_int from $net_int to any keep state

а он в 27 строке тообишь в этой апшипка , syntax error

можно же как то ещё трафик разрешить?
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
13.09.2012, 08:08 10
"keep state" не нужно писать - он по умолчанию
0
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
13.09.2012, 10:24  [ТС] 11
а ещё pf при разрешении любых соединений из локалки ругается на маску 24, пишет

24:network is not a number....и всё молчит, какие конфиги мне скинуть или какие статы чтобы Вам было понятнее о чём я говорю?
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
13.09.2012, 16:29 12
/etc/rc.conf
/etc/pf.conf
"ifconfig >file.txt"
"netstat -rn >file.txt"
0
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
17.09.2012, 18:44  [ТС] 13
Скриншоты....съёмка на мою старую мобилу, ибо ничего лучше у меня нет.

Я понимаю что тут ничего не видно...но может что нибудь
Миниатюры
FreeBSD 8.3 Client/Server + DHCP + PF   FreeBSD 8.3 Client/Server + DHCP + PF   FreeBSD 8.3 Client/Server + DHCP + PF  

FreeBSD 8.3 Client/Server + DHCP + PF   FreeBSD 8.3 Client/Server + DHCP + PF   FreeBSD 8.3 Client/Server + DHCP + PF  

0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
18.09.2012, 09:48 14
съёмка на мою старую мобилу
Запиши файл /etc/pf.conf
И выложи на форум

Добавлено через 1 минуту
Я так понял - сеть у тебя на роутере наружу работает ?
0
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
18.09.2012, 11:39  [ТС] 15
/etc/pf.conf

Код
#Interface
if_ext="rl0"
if_int="vr0"
net_int="192.168.0.0/24"

set block-policy drop
set state-policy if-bound

scrub all reassemble tcp fragment reassemble

#NAT for local
nat pass on $if_ext from $net_int -> ($if_ext) static-port

#Trafik kaka
block drop all

#loopback
pass quick on lo0 all

#trafik naruzu
pass out quick on $if_ext inet proto tcp from ($if_ext) to any flags S/SA keep state
pass out quick on $if_ext inet proto { udp, icmp} from ($if_ext) to any keep state
pass out quick on $if_int from ($if_int) to $net_int

#traffik iz local
pass in quick on $if_int from $net_int to any
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
18.09.2012, 11:47 16
/etc/rc.conf

ifconfig_vr0="inet 192.168.0.1 netmask 255.255.255.0"
1
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
18.09.2012, 11:50  [ТС] 17
Как дома буду исправлю и отпишусь.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
18.09.2012, 12:20 18
В /etc/rc.conf добавить
pf_rules="/etc/pf/pf.conf"

Код
# File: /etc/pf/pf.conf

######################################################################
# Macros
 
######################################################################
# Interfaces
 
# Interface ext
ext0_if="rl0"

# Interface int
int0_if="vr0"
int0_net="192.168.0.0/24"
int0_ip="192.168.0.1"
 
# Skip interfaces
skip_if="{ lo }"
 
 
######################################################################
# Self ports
 
# on ext0 to self
ext0_self_tcp_port="{ ssh }"
#ext0_self_udp_port="{ }"
 
 
######################################################################
# Tables
 
# Block tables
table <sshguard> persist
 
# Interface ext tables
table <block_ext0_from> persist file "/etc/pf/block_ext0_from"
 
 
######################################################################
# Options
 
set loginterface $ext0_if
 
set block-policy return
 
set skip on $skip_if
 
 
######################################################################
# Traffic Normalization
 
scrub in all
 
 
######################################################################
# Queueing


######################################################################
# Translation

nat on $ext0_if inet from $int0_net to any tagged IN_INT0 -> ($ext0_if:0)

 
######################################################################
# Packet Filtering
 
# Default is block
block return log all


######################################################################
# out on $int0_if

# Allow out from self
pass out quick on $int0_if inet from (self) to any

# Allow out from int0 to int0
pass out quick on $int0_if inet tagged IN_INT0_OUT_INT0

# Block other
block out log quick on $int0_if inet all

 
######################################################################
# in on $int0_if
 
# Block by src_ip
block drop in log quick on $int0_if inet from <sshguard> to any
block drop in log quick on $int0_if inet from <block_ext0_from> to any

# Separate by dst_ip
anchor "int0_self" in on $int0_if inet from any to (self)
load anchor "int0_self" from "/etc/pf/int0_self"

# proto tcp
pass in quick on $int0_if inet proto tcp from $int0_net to any tag IN_INT0

# proto udp
pass in quick on $int0_if inet proto udp from $int0_net to any tag IN_INT0
 
# proto icmp
pass in quick on $int0_if inet proto icmp \
	from $int0_net to any icmp-type echoreq code 0 tag IN_INT0

# Block other
block in log quick on $int0_if inet all

 
######################################################################
# out on $ext0_if
 
# Allow out for forwarding packets
pass out quick on $ext0_if inet tagged IN_INT0
 
# Allow out from self
pass out quick on $ext0_if inet from (self) to any

# Block other
block out log quick on $ext0_if inet all
 
 
######################################################################
# in on $ext0_if
 
# Block by src_ip
block drop in log quick on $ext0_if inet from <sshguard> to any
block drop in log quick on $ext0_if inet from <block_ext0_from> to any
 
# proto tcp
pass in quick on $ext0_if inet proto tcp \
	from any to (self) port $ext0_self_tcp_port
 
# proto udp
#pass in quick on $ext0_if inet proto udp \
#	from any to (self) port $ext0_self_udp_port
 
# proto icmp
pass in quick on $ext0_if inet proto icmp \
	from any to (self) icmp-type echoreq code 0

# Block other
block in log quick on $ext0_if inet all

 
######################################################################
# End
Код
# File: /etc/pf/int0_self

######################################################################
# Interfaces
 
# Interface int
int0_if="vr0"
int0_net="192.168.0.0/24"
int0_ip="192.168.0.1"


######################################################################
# Packet Filtering
# anchor "int0_self" in on $int0_if inet from any to (self)


######################################################################
# in on $int0_if proto tcp

pass quick inet proto tcp from $int0_net to any


######################################################################
# in on $int0_if proto udp

pass quick inet proto udp from $int0_net to any


######################################################################
# in on $int0_if proto icmp

pass quick inet proto icmp from any to any icmp-type echoreq code 0


######################################################################

# Block other
block quick inet all


######################################################################
# End
Добавлено через 4 минуты
Собственно снаружи у роутера открыт только ssh

Добавлено через 2 минуты
Код
# File: /etc/pf/block_ext0_from
Как работает не проверял
Может быть какие-то косяки подправить нужно
0
5 / 5 / 0
Регистрация: 29.04.2009
Сообщений: 21
18.09.2012, 12:27  [ТС] 19
В /etc/rc.conf добавить
pf_rules="/etc/pf/pf.conf"
а разве там нет этого? ...а хотя там только
pf_rules="/etc/pf.conf"


File: /etc/pf/block_ext0_from
Что это за файл такой???
Просто выше этой строчки вы описали коды внутри файлов, а про этот ничего, только само название.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
19.09.2012, 14:36 20
Что это за файл такой?
Вообще два раза написал про него
Просто одна строчка комментария в файле
То есть он ничего не блокирует - потом адреса дописать можно
1
19.09.2012, 14:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2012, 14:36
Помогаю со студенческими работами здесь

FreeBSD шлюз с фильтрацией сайтов и трафика + настройка DHCP
Приветствую всех, сам я только недавно начал изучать и использовать на работе freebsd, сейчас из...

Event ID 1001 — DHCP Client Lease Validity
В последнее время частенько не поднимается интернеты. В системных событиях обнаружил приличное...

Udp server-client. server ничего не принимает
Клиент отправляет. сервер запускается, но чтение IdUDPServer1UDPRead не выполняется. подскажите...

Client-Server: GET request refused by the server
Пишу Client-Server (Ubuntu), имеется рабочая версия для проверки. Запустил сервер,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru