перестал ночью работать ipfw незнаю где искать

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
veres
рядовой
Сообщения: 18
Зарегистрирован: 2010-08-02 23:18:46

перестал ночью работать ipfw незнаю где искать

Непрочитанное сообщение veres » 2012-06-23 22:00:16

Уже не один год стоит у нас в офисе роутер на фре 8,2. Этой ночью пропал инет. Оказалась проблема в ipfw, т.к. rc.conf если его отключить а натить через ipnat - то все работает. Или вместо ipfw использовать pf и им же натить, тоже все работает. Дело в том, что правила никто не менял, тем более у меня есть бэкап правил в текстовом документе... но все равно не работает.

вот они: re0 - внутренняя сеть 192.168.0.0/24
rl0 - инет, статика

/etc/ipfw

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

# правила разрешающие трафик через локальный интерфейс lo0
# будут добавляться автоматически сами при старте фаервола
# 100 allow ip from any to any via lo0
# 200 deny ip from any to 127.0.0.0/8
# 300 deny ip from 127.0.0.0/8 to any

# разрешаем все через интерфейс локальной сети
add 1040 allow ip from any to any via re0

# боимся непонятного
add 1050 deny ip from any to 192.168.0.0/16 in recv rl0
add 1060 deny ip from 192.168.0.0/16 to any in recv rl0
add 1070 deny ip from any to 172.16.0.0/12 in recv rl0
add 1080 deny ip from 172.16.0.0/12 to any in recv rl0
add 10110 deny ip from any to 169.254.0.0/16 in recv rl0

#Открываем порты

#  VPN-connect - это порт для даемона MPD, на него поступают запросы на авториза
add 10130 allow tcp from any to me 1723 setup

# GRE for MPD5 - в этот протокол инкапсулируются все пакеты
# установившегося соединения VPN
add 10140 allow gre from any to any

# VPN-LAN
add 10150 allow tcp from any to any via ng*
add 10160 allow udp from any to any via ng*

# SSH
add 10170 allow tcp from any to me 14441 in via rl0

# Incoming Pings
add 10180 allow icmp from any to me icmptypes 8 in recv rl0

# Почта, 25
add 10190 allow tcp from any to me dst-port 25 setup
#add 10200 allow tcp from any to me dst-port 110 setup

# WEB
add 10210 allow tcp from any to me dst-port 80 setup

# настройка ната.
nat 1 config log if rl0 reset same_ports deny_in redirect_port tcp 192.168.0.36:4899 123.45.67.89:4799

# заварачиваем все что проходит через внешний интерфейс в нат
add 10530 nat 1 ip from any to any via rl0

# боимся непонятного
add 65534 deny all from any to any
Вот rc.conf

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

font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
scrnmap="koi8-r2cp866"
keymap="ru.koi8-r"

ifconfig_re0="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_rl0="inet 123.45.67.89 netmask 255.255.255.128"
defaultrouter="123.45.67.1"
gateway_enable="YES"
hostname="server.office.lan"

sshd_enable="YES"

firewall_enable="YES"
firewall_type="/etc/ipfw" 

fsck_y_enable="YES"
background_fsck="NO"
ntpdate_enable="YES"
apache22_enable="YES"
mysql_enable="YES"
postfix_enable="YES"
dovecot_enable="YES"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

named_enable="YES"
named_program="/usr/sbin/named"
named_flags="-u bind -c /etc/namedb/named.conf"
dhcpd_enable="YES"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="re0" # на каком интерфейсе крутится DHCP
mpd_enable="YES"
nmbd_enable="YES"
smbd_enable="YES"
pureftpd_enable="YES"
помогите люди добрые, что с ним случилось, чего не работает (((

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

veres
рядовой
Сообщения: 18
Зарегистрирован: 2010-08-02 23:18:46

Re: перестал ночью работать ipfw незнаю где искать

Непрочитанное сообщение veres » 2012-06-24 15:39:26

Понял в чем дело: если закомментировать последнее правило (add 65534 deny all from any to any) в ipfw то все работает. Объясните плиз почему так, и почему все работало до этого с последним правилом?... Ауу помогите же плиз

veres
рядовой
Сообщения: 18
Зарегистрирован: 2010-08-02 23:18:46

Re: перестал ночью работать ipfw незнаю где искать

Непрочитанное сообщение veres » 2012-06-24 15:57:27

Видимо тут что то связано с опцией в ядре options IPFIREWALL_DEFAULT_TO_ACCEPT

собрано с ней... так и надо или нет?

veres
рядовой
Сообщения: 18
Зарегистрирован: 2010-08-02 23:18:46

Re: перестал ночью работать ipfw незнаю где искать

Непрочитанное сообщение veres » 2012-06-24 18:04:52

Нашел в чем была проблема
/etc/sysctl.conf

net.inet.ip.fw.one_pass=1

а у меня был 0

veres
рядовой
Сообщения: 18
Зарегистрирован: 2010-08-02 23:18:46

Re: перестал ночью работать ipfw незнаю где искать

Непрочитанное сообщение veres » 2012-06-24 19:00:55

тогда не работает проброс портов и редирект ((

блин... перерыл весь инет и ничего толкового нигде нет ((
неужели такой редкий случай... сервер с двумя сетевыми интерфейсами, один в нет (rl0), другой в локалку (re0)

нужно закрыть все нафиг, открыть только порты 14441, 1723, 80, 25, 53, 21 и 30000-50000, а также разрешить все на интерфейсах ng* которые создаются vpn сервером

нигде такого нет ((( все собираю из кусочков, в итого то одно не работает то другое

Сейчас /etc/ipfw выглядит так

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

# разрешаем все через интерфейс локальной сети
add 1040 allow ip from any to any via re0

# боимся непонятного
add 1050 deny ip from any to 192.168.0.0/16 in recv rl0
add 1060 deny ip from 192.168.0.0/16 to any in recv rl0
add 1070 deny ip from any to 172.16.0.0/12 in recv rl0
add 1080 deny ip from 172.16.0.0/12 to any in recv rl0
add 1090 deny ip from any to 10.0.0.0/8 in recv rl0
add 10100 deny ip from 10.0.0.0/8 to any in recv rl0
add 10110 deny ip from any to 169.254.0.0/16 in recv rl0
add 10120 deny ip from 169.254.0.0/16 to any in recv rl0

#Открываем порты
# VPN-connect - это порт для даемона MPD, на него поступают запросы на авторизацию
add 10130 allow tcp from any to me 1723 setup
# GRE for MPD5 - в этот протокол инкапсулируются все пакеты VPN-LAN
add 10140 allow tcp from any to any via ng*
add 10150 allow udp from any to any via ng*
# Открываем порт для SSH
add 10160 allow tcp from any to me 14441 in via rl0
# Incoming Pings
add 10170 allow icmp from any to me icmptypes 8 in recv rl0
# Почта, 25
add 10180 allow tcp from any to me dst-port 25 setup
# WEB
add 10190 allow tcp from any to me dst-port 80 setup
# Порт для ДНС сервера
add 10200 allow tcp from any to me 53 in via rl0
add 10210 allow udp from any to me 53 in via rl0
# FTP
add 10220 allow log tcp from any to me dst-port 21,30000-50000 setup

# Настройка ната и редирект порта
nat 1 config log if rl0 reset same_ports deny_in redirect_port tcp 192.168.0.36:4899 178.209.65.89:9800

# Заварачиваем все что проходит через внешний интерфейс в нат
add 10130 nat 1 ip from any to any via rl0

# Боимся непонятного
add 65534 deny all from any to any
/etc/sysctl.conf

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

net.inet.ip.fw.one_pass=0
все. инета нет.


# ipfw show

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

00100     8      576 allow ip from any to any via lo0
00200     0        0 deny ip from any to 127.0.0.0/8
00300     0        0 deny ip from 127.0.0.0/8 to any
01040   210    62084 allow ip from any to any via re0
01050     0        0 deny ip from any to 192.168.0.0/16 in recv rl0
01060     0        0 deny ip from 192.168.0.0/16 to any in recv rl0
01070     0        0 deny ip from any to 172.16.0.0/12 in recv rl0
01080     0        0 deny ip from 172.16.0.0/12 to any in recv rl0
01090     0        0 deny ip from any to 10.0.0.0/8 in recv rl0
10100    11      352 deny ip from 10.0.0.0/8 to any in recv rl0
10110     0        0 deny ip from any to 169.254.0.0/16 in recv rl0
10120     0        0 deny ip from 169.254.0.0/16 to any in recv rl0
10130     0        0 allow tcp from any to me dst-port 1723 setup
10130   278    65932 nat 1 ip from any to any via rl0
10140     0        0 allow tcp from any to any via ng*
10150     0        0 allow udp from any to any via ng*
10160     0        0 allow tcp from any to me dst-port 14441 in via rl0
10170     0        0 allow icmp from any to me icmptypes 8 in recv rl0
10180     0        0 allow tcp from any to me dst-port 25 setup
10190     0        0 allow tcp from any to me dst-port 80 setup
10200     0        0 allow tcp from any to me dst-port 53 in via rl0
10210     0        0 allow udp from any to me dst-port 53 in via rl0
10220     0        0 allow log logamount 1000 tcp from any to me dst-port 21,30000-50000 setup
65534   272    65582 deny ip from any to any
65535 74643 36272050 allow ip from any to any


строка с настройкой ната и редиректом в ipfw show почему-то отсутствует вообще

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

# Настройка ната и редирект порта
nat 1 config log if rl0 reset same_ports deny_in redirect_port tcp 192.168.0.36:4899 178.209.65.89:9800
куда она делась? (( Почему нет инета
_____________________________________________________________________________________________
Сделал /etc/sysctl.conf

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

net.inet.ip.fw.one_pass=1
Перегрузил фрю. Инет появился.

# ipfw show

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

00100    64    10580 allow ip from any to any via lo0
00200     0        0 deny ip from any to 127.0.0.0/8
00300     0        0 deny ip from 127.0.0.0/8 to any
01040 67345 56457301 allow ip from any to any via re0
01050     0        0 deny ip from any to 192.168.0.0/16 in recv rl0
01060     0        0 deny ip from 192.168.0.0/16 to any in recv rl0
01070     0        0 deny ip from any to 172.16.0.0/12 in recv rl0
01080     0        0 deny ip from 172.16.0.0/12 to any in recv rl0
01090     0        0 deny ip from any to 10.0.0.0/8 in recv rl0
10100     3       96 deny ip from 10.0.0.0/8 to any in recv rl0
10110     0        0 deny ip from any to 169.254.0.0/16 in recv rl0
10120     0        0 deny ip from 169.254.0.0/16 to any in recv rl0
10130     0        0 allow tcp from any to me dst-port 1723 setup
10130 67300 56468724 nat 1 ip from any to any via rl0
10140     0        0 allow tcp from any to any via ng*
10150     0        0 allow udp from any to any via ng*
10160     0        0 allow tcp from any to me dst-port 14441 in via rl0
10170     0        0 allow icmp from any to me icmptypes 8 in recv rl0
10180     0        0 allow tcp from any to me dst-port 25 setup
10190     0        0 allow tcp from any to me dst-port 80 setup
10200     0        0 allow tcp from any to me dst-port 53 in via rl0
10210     0        0 allow udp from any to me dst-port 53 in via rl0
10220     0        0 allow log logamount 1000 tcp from any to me dst-port 21,30000-50000 setup
65534     0        0 deny ip from any to any
65535     0        0 allow ip from any to any
Редиректа порта нет

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

redirect_port tcp 192.168.0.36:4899 178.209.65.89:9800
куда пропало непонятно (( Более того, извне к серверу по ssh на порт 14441 не достучаться.


_______________________________________________


Ну и вариант номер 3

В /etc/sysctl.conf

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

net.inet.ip.fw.one_pass=0
В правилах ipfw ничего не меняю инета нет вообще

Затем комментирую последнее правило

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

# Боимся непонятного
# add 65534 deny all from any to any
инет появился

# ipfw show

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

00100    0       0 allow ip from any to any via lo0
00200    0       0 deny ip from any to 127.0.0.0/8
00300    0       0 deny ip from 127.0.0.0/8 to any
01040 4763 2458136 allow ip from any to any via re0
01050    0       0 deny ip from any to 192.168.0.0/16 in recv rl0
01060    0       0 deny ip from 192.168.0.0/16 to any in recv rl0
01070    0       0 deny ip from any to 172.16.0.0/12 in recv rl0
01080    0       0 deny ip from 172.16.0.0/12 to any in recv rl0
01090    0       0 deny ip from any to 10.0.0.0/8 in recv rl0
10100    5     160 deny ip from 10.0.0.0/8 to any in recv rl0
10110    0       0 deny ip from any to 169.254.0.0/16 in recv rl0
10120    0       0 deny ip from 169.254.0.0/16 to any in recv rl0
10130    0       0 allow tcp from any to me dst-port 1723 setup
10130 4739 2458377 nat 1 ip from any to any via rl0
10140    0       0 allow tcp from any to any via ng*
10150    0       0 allow udp from any to any via ng*
10160    0       0 allow tcp from any to me dst-port 14441 in via rl0
10170    0       0 allow icmp from any to me icmptypes 8 in recv rl0
10180    0       0 allow tcp from any to me dst-port 25 setup
10190    0       0 allow tcp from any to me dst-port 80 setup
10200    0       0 allow tcp from any to me dst-port 53 in via rl0
10210    0       0 allow udp from any to me dst-port 53 in via rl0
10220    0       0 allow log logamount 1000 tcp from any to me dst-port 21,30000            -50000 setup
65535 4730 2457708 allow ip from any to any
Проброс портов и редирект нет...

В чем проблема и что я делаю не так? Помогите, ща мозг лопнет ((( Заранее спасибо.

veres
рядовой
Сообщения: 18
Зарегистрирован: 2010-08-02 23:18:46

Re: перестал ночью работать ipfw незнаю где искать

Непрочитанное сообщение veres » 2012-06-25 8:21:44

все, уже не надо. спасибо. нашел ошибку сам. с нумерацией правил косяк был

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

# FTP
add 10220 allow log tcp from any to me dst-port 21,30000-50000 setup

# Настройка ната и редирект порта
nat 1 config log if rl0 reset same_ports deny_in redirect_port tcp 192.168.0.36:4899 123.45.67.89:9800

# Заварачиваем все что проходит через внешний интерфейс в нат
add 10130 nat 1 ip from any to any via rl0