FreeBSD маршрутизация

Статическая и динамическая, протоколы

Re: FreeBSD маршрутизация

Сообщение Андрей » 10 апр 2009, 21:46

У меня на сервере биллингом стоит pf.
Ставлю pf по 2м причинам:
1. Не ищу легких путей.
2. Для меня в данном случае будет проблемой адаптироваться на что-то новое, если это используется уже на другой машине.

Да и сугубо личное мнение, что pf больше похож на некий набор команд CLI в одном файле от CISCO, который потом одной командой считывается и выполняется. Это более или менее поможет освоить эти устройства, во всяком случае для меня.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: FreeBSD маршрутизация

Сообщение Андрей » 13 апр 2009, 11:42

Сделал настройки файрволла. Теперь проблема в том, что пакеты дальше ифейса компа не уходят. объясняю:
Код: Выделить всё
rl0:
ip: 192.168.1.242
mask: 255.255.0.0
rl1:
ip: 10.10.254.128
mask: 255.255.0.0

теперь если я пускаю пинг на 10.10.0.1 от пользователя имеющего настройки:
ip: 192.168.1.3
mask: 255.255.0.0
gate: 192.168.1.242
пинг не проходит, зато если пускаю пинг на 10.10.254.128 - обмен пакетами происходит нормально.
Подскажите в чем проблема.

вот конфиг pf.conf:
Код: Выделить всё
# cat pf.conf
table <rfcnets> {10.0.0.0/8, !192.168.1.0/24, 192.168.0.0/16, !172.16.0.0/24, 172.16.0.0/12 }
table <me>      { self, 10.10.254.128}
#table <jab>    {3478, 3479, 5222, 5223, 5269, 7777, 8080, 8483, 9090, 9091}

# Options: tune the behavior of pf, default values are given.
set timeout { interval 10, frag 30 }
set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 5 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 20, icmp.error 10 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 50000, frags 5000 }
set loginterface none
#set optimization normal
set block-policy drop
set require-order yes
set fingerprints "/etc/pf.os"
#set state-policy if-bound

# Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
scrub in all

# Разрешаем loopback
pass quick on lo from any to any

# ЗДЕСЬ ОПИСЫВАЕМ ВСЕ IN ПРАВИЛА
#запрещаем локальные сети на внешнем интерфейсе
#block in quick on rl1 from <rfcnets> to any

# Этот блок правил обеспечивает работу только сервисов на самом сервере
# icmp
pass in quick 4~inet proto icmp from any to <me> icmp-type echoreq keep state
# ssh
pass in quick proto tcp from any to <me> port ssh flags S/SA keep state
# http,https
pass in quick proto tcp from any to <me>  port {443, 80} flags S/SA keep state
#Jabber

pass in quick proto tcp from any to <me> port {3478, 3479, 5222, 5223, 5269, 7777, 8080, 8483, 9090, 9091} flags S/SA keep state
# Все остальное ко мне закрываем
block in quick from any to <me>
# остатки входящего блокируем
block in quick all

block in quick proto {tcp, udp} from any to <me> port {135, 136, 137, 138, 139, 445, 4444, 4445, 9999}

# ЗДЕСЬ ОПИСЫВАЕМ ВСЕ OUT ПРАВИЛА
# запрещаем RFC сети на исходящем интерфейсе
#block out quick on em0 from <rfcnets> to any
#от меня
pass out quick from <me> to any keep state
# навыход пускаем всё что дошло до сюда
pass out quick on rl0 from 192.168.0.0/16 to any keep state
# на выход не описали - блокируем
#block out quick all


Заранее спасибо за ответ.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: FreeBSD маршрутизация

Сообщение root » 13 апр 2009, 14:08

ну дык ICMP же у тя разрешен
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: FreeBSD маршрутизация

Сообщение Андрей » 13 апр 2009, 14:34

не за то разговор.

с компа из сети 192.168.1.0/16 пускаю пинг в 10.10.0.0/16. так вот. Пинг проходит только на внешний ифейс сервера, на других хостов ответа нею Я делаю вывод, что эхо-пакет либо не уходит, либо не приходит. Из чего следует, что пакет блокирует какое-то из правил файрволла (или in, или out)
Подскажите в каком правиле ошибка?
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: FreeBSD маршрутизация

Сообщение mr_A3ap41k » 13 апр 2009, 22:53

Вы нашли себе не легкий путь :D
Андрей писал(а):Я делаю вывод, что эхо-пакет либо не уходит, либо не приходит
А 10.10.0.1 с сервера пингуется?
Аватара пользователя
mr_A3ap41k
новичок
 
Сообщения: 36
Зарегистрирован: 19 фев 2009, 17:50
Откуда: Russia, Moscow

Re: FreeBSD маршрутизация

Сообщение Андрей » 14 апр 2009, 06:38

А 10.10.0.1 с сервера пингуется?

С сервера да.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: FreeBSD маршрутизация

Сообщение root » 14 апр 2009, 09:36

Андрей писал(а):Я делаю вывод, что эхо-пакет либо не уходит, либо не приходит.

выводы нужно делать исходя из того, что показывает tcpdump
Код: Выделить всё
tcpdump -ni IFACE_NAME icmp

где IFACE_NAME имя интерфейса, на котором ты хочешь "слушать"
Код: Выделить всё
man tcpdump


вот он и покажет, что приходит, что уходит по интерфейсу

так же рекомендую ознакомится с:
http://openbsd.org/faq/pf/index.html
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: FreeBSD маршрутизация

Сообщение Андрей » 14 апр 2009, 11:14

Код: Выделить всё
#tcpdump -ni rl1 icmp
14:06:25.136766 IP 192.168.1.245 > 10.10.0.2: ICMP echo request, id 512, seq 4631, length 40
14:06:30.636900 IP 192.168.1.245 > 10.10.0.2: ICMP echo request, id 512, seq 4887, length 40
14:06:36.136989 IP 192.168.1.245 > 10.10.0.2: ICMP echo request, id 512, seq 5143, length 40
14:06:41.637114 IP 192.168.1.245 > 10.10.0.2: ICMP echo request, id 512, seq 5399, length 40
14:06:47.137217 IP 192.168.1.245 > 10.10.0.2: ICMP echo request, id 512, seq 5655, length 40
14:06:52.637355 IP 192.168.1.245 > 10.10.0.2: ICMP echo request, id 512, seq 5911, length 40
14:06:58.137465 IP 192.168.1.245 > 10.10.0.2: ICMP echo request, id 512, seq 6167, length 40

Получается что запросы есть, но ответа нет.
так же рекомендую ознакомится с:
http://openbsd.org/faq/pf/index.html

Это лучше.
Сначала залочил все на этой машине (in, out). Затем открыл icmp - ифейсы пингуются, разрешил ssh - подключился, разрешил порты jabber - клинты коннектятся.
добавил
Код: Выделить всё
pass in on rl0 from 192.168.0.0/16 to 10.10.0.0/16 keep state
pass out on rl0 from 192.168.0.0/16 to 10.10.0.0/16 keep state

Что добавлял, что не добавлял - одинаково.

Вот новый полный конфиг.
Код: Выделить всё
# Options: tune the behavior of pf, default values are given.
set timeout { interval 10, frag 30 }
set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 5 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 20, icmp.error 10 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 50000, frags 5000 }
set loginterface none
#set optimization normal
set block-policy drop
set require-order yes
set fingerprints "/etc/pf.os"
#set state-policy if-bound
# Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
scrub in all
# Разрешаем loopback
pass quick on lo from any to any

block in all
block out all

# icmp
pass in quick inet proto icmp from any to <me> icmp-type echoreq keep state
#Jabber
pass in quick proto tcp from any to <me> port {3478, 3479, 5222, 5223, 5269, 7777, 8080, 8483, 9090, 9091} flags S/SA keep state
# ssh
pass in quick proto tcp from any to <me> port ssh flags S/SA keep state
# http,https
pass in quick proto tcp from any to <me>  port {443, 80} flags S/SA keep state
#Для 10 сети
pass in on rl0 from 192.168.0.0/16 to 10.10.0.0/16 keep state
pass out on rl0 from 192.168.0.0/16 to 10.10.0.0/16 keep state
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: FreeBSD маршрутизация

Сообщение root » 14 апр 2009, 11:41

Андрей писал(а):Получается что запросы есть, но ответа нет.

вот это уже другое дело, а не гадание "не приходит/не уходит"

почему не отвечает 10.10.0.2 тоже несколько вариантов, например:
    нет машрута в сеть 192.168
    стоит фаир блокающий пакеты
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: FreeBSD маршрутизация

Сообщение Андрей » 14 апр 2009, 11:48

почему не отвечает 10.10.0.2 тоже несколько вариантов, например:
нет машрута в сеть 192.168
стоит фаир блокающий пакеты

По поводу файра - отпадает сразу, т.к. из сети 10.10.0.0/16 пинг проходит на 10.10.0.2.
По поводу маршрута - мне надо видеть всех(!), т.е. не только 10.10.0.2, но и 10.10.0.1, а так же все до 10.10.254.254.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Пред.След.

Вернуться в Маршрутизация / Routing

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron