Проблема раздачи интернета (Не могу разобраться какое правило заблокировало мне интернет)

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Аватара пользователя
SergNik
Сообщения: 77
ОС: Windws+FreeBSD

Проблема раздачи интернета

Сообщение SergNik »

Доброго времени суток)Давно я тут не появлялся и не задавал вопросы)) Итак предыстория = долго сидел, читал документацию по замечательному фаерволлу ipfw и решил попробовать сие чудо на своей системме. Настройка проводилась по статье Лиссяры:

<a href="http://www.lissyara.su/articles/freebsd/tuning/ipfw/" target="_blank">http://www.lissyara.su/articles/freebsd/tuning/ipfw/

</a>
Значит для особо любопытных привожу листинг фаерволла:

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

#!/bin/sh

# для начала вводим переменные - для нашего же удобства, чтобы не
# вводить по сотне раз одно и то же, а потом искать почему не работает,
# и в итоге выяснять, что ошибся IP адресом в одном из правил

FwCMD="/sbin/ipfw"      # собственно где лежит бинарник ipfw
LanOut="fxp0"           # внешний интерфейс
LanIn="rl0"             # внутренний интерфейс
IpOut="192.168.0.97   " # внешний IP адрес машины
IpIn="10.0.0.1"         # внутренний IP машины
NetMask="24"            # маска сети (если она разная для внешней
                        # и внутренней сети - придётся вводить ещё
                        # одну переменную, но самое забавное, что
                        # можно и забить - оставить 24 - всё будет
                        # работать, по крайней мере я пробовал -
                        # работаало на 4-х машинах, в разных сетях,
file "/etc/rc.firewall", 139 lines
^[ (escape) menu  ^y search prompt  ^k delete line   ^p prev li   ^g prev page
^o ascii code     ^x search         ^l undelete line ^n next li   ^v next page
^u end of file    ^a begin of line  ^w delete word   ^b back 1 char
^t top of text    ^e end of line    ^r restore word  ^f forward 1 char
^c command        ^d delete char    ^j undelete char ^z next word
===============================================================================
^[ (escape) menu  ^y search prompt  ^k delete line   ^p prev li   ^g prev page
^o ascii code     ^x search         ^l undelete line ^n next li   ^v next page
^u end of file    ^a begin of line  ^w delete word   ^b back 1 char
^t top of text    ^e end of line    ^r restore word  ^f forward 1 char
^c command        ^d delete char    ^j undelete char ^z next word
=====line 139 col 0 lines from top 139 ========================================
# /usr/home/lissyara/>sysctl net.inet.ip.portrange.last
# net.inet.ip.portrange.last: 65535
${FwCMD} add allow tcp from any to ${IpOut} 21 via ${LanOut}
#Можно изгалиться примерно так, если есть желание, но я предпочитаю руками
#${FwCMD} add allow tcp from any to ${IpOut} \
#`sysctl net.inet.ip.portrange.first | awk '{print $2}'`-\
#`sysctl net.inet.ip.portrange.last | awk '{print $2}'` via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
# разрешаем некоторые типы ICMP траффика - эхо-запрос,
# эхо-ответ и время жизни пакета истекло
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
# открываем снаружи 80 порт - если у нас есть WWW сервер на машине
${FwCMD} add allow tcp from any to ${IpOut} 80 via ${LanOut}
# открываем снаружи 25 порт (SMTP) если на машине крутится почта
#${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}
# открываем снаружи 22 порт - если надо будет ходить на машину по ssh
${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}
# открываем снаружи 143 порт(если надо смотреть почту снаружи по IMAP)
${FwCMD} add allow tcp from any to ${IpOut} 143 via ${LanOut}
# открываем снаружи 110 порт(если надо смотреть почту снаружи по POP)
${FwCMD} add allow tcp from any to ${IpOut} 110 via ${LanOut}
# по поводу следующих трёх правил, для tcp, udp и icmp - их можно
# заменить одним правилом:
#${FwCMD} add allow ip from any to any via ${LanIn}
# но для удобства наладки и контроля происходящего я предпочитаю три отдельных
# правила, хотя могут быть грабли - например протокол gre не пройдёт -
# придётся стругать отдельное правило для него, типа
#${FwCMD} add allow gre from any to any via ${LanIn}
# итак:
# разрешаем весь tcp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow tcp from any to any via ${LanIn}
# разрешаем весь udp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow udp from any to any via ${LanIn}
# разрешаем весь icmp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow icmp from any to any via ${LanIn}
# запрещаем всё и всем. Если тип файрволла не open то это правило добавится
# автоматически, но всё-же ну его. Лучше сам. Надёжней.
#${FwCMD} add deny ip from any to any
{FwCMD}  add 35 allow icmp from any to any via tun0

Далее листинг секции фаервола и сетей из rc.conf:

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

#Ifconfig
ifconfig_fxp0="inet 192.168.0.97 netmask 255.255.255.0"
ifconfig_rl0="inet 10.0.0.1 netmask 255.255.255.0"
#Firewall
firewall_enable="YES"
firewall_type="/etc/rc.firewall"

Так как я во все запрешающие правила добавил функцию лог, естесвенно есть лог заблокированных пакетов:
ee /var/log/security

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

Mar 30 10:10:24 unix kernel: ipfw: 500 Deny UDP 172.26.6.250:138 172.26.6.255:138 in via fxp0
Mar 30 10:10:59 unix kernel: ipfw: 500 Deny UDP 172.26.6.250:138 172.26.6.255:138 in via fxp0
Mar 30 10:12:45 unix kernel: ipfw: 500 Deny UDP 172.26.6.232:137 172.26.6.255:137 in via fxp0
Mar 30 10:12:59 unix kernel: ipfw: 500 Deny UDP 172.26.6.236:138 172.26.6.255:138 in via fxp0
Mar 30 10:14:37 unix kernel: ipfw: 500 Deny UDP 172.26.6.238:137 172.26.6.255:137 in via fxp0

Собственно проблема в том, что с компьютера с виндовс пинги идут:

windows

C:\Documents and Settings\Admin>ping mail.ru -t Обмен пакетами с mail.ru [217.69.128.42] по 32 байт: Ответ от 217.69.128.42: число байт=32 время=126мс TTL=106 Ответ от 217.69.128.42: число байт=32 время=129мс TTL=106 Ответ от 217.69.128.42: число байт=32 время=158мс TTL=106 Ответ от 217.69.128.42: число байт=32 время=109мс TTL=106 Статистика Ping для 217.69.128.42: Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь), Приблизительное время приема-передачи в мс: Минимальное = 109мсек, Максимальное = 158 мсек, Среднее = 130 мсек

Но нслукап показывает:

windows

C:\Documents and Settings\Admin>nslookup ya.ru *** Can't find server name for address 10.0.0.1: Non-existent domain *** Default servers are not available Server: UnKnown Address: 10.0.0.1 Non-authoritative answer: Name: ya.ru Addresses: 93.158.134.8, 213.180.204.8, 77.88.21.8

Не подскажете где и что я накрутил...я уже 4 дня лазию по форумам....
Да чуть не забыл.

10.0.0.1

unix# ifconfig -a fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:a0:c9:69:4e:4e inet 192.168.0.97 netmask 0xffffff00 broadcast 192.168.0.255 media: Ethernet autoselect (none) status: no carrier rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:30:4f:5c:dd:57 inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255 media: Ethernet autoselect (100baseTX <full-duplex>) status: active lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> inet 127.0.0.1 netmask 0xff000000 tun0: flags=8010<POINTOPOINT,MULTICAST> metric 0 mtu 1500 Opened by PID 336
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1099
ОС: freeBSD

Re: Проблема раздачи интернета

Сообщение arachnid »

ща забанить или дать подумать? :)
внимательно читаем, что пишет nslookup в винде - что ответ получен от неавторизованного сервера с неопределяемым именем

а по приведенным данным - лучше не листинг rc.ipfw (или к.л. скрипта), а вывод ipfw show - а это может быть две большие разницы
второе - как минимум для подобной работы должен быть нат - что-то я не вижу, что бы о нем ч.н. упоминалось. так же неплохо было бы упомянуть о способе выхода в сеть - ибо так же непонятно, требуется ли tun0 или он так остался
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
Аватара пользователя
SergNik
Сообщения: 77
ОС: Windws+FreeBSD

Re: Проблема раздачи интернета

Сообщение SergNik »

Банить не надо я хороший)) :rolleyes:
1)По требованию ipfw list

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

ipfw show
00100   0     0 allow ip from any to any via lo0
00200   0     0 deny log logamount 100 ip from any to 127.0.0.0/8
00300   0     0 deny log logamount 100 ip from 127.0.0.0/8 to any
00400   0     0 deny log logamount 100 ip from any to 10.0.0.0/8 in via fxp0
00500   0     0 deny log logamount 100 ip from any to 172.16.0.0/12 in via fxp0
00600   0     0 deny log logamount 100 ip from any to 192.168.0.0/16 in via fxp0
00700   0     0 deny log logamount 100 ip from any to 0.0.0.0/8 in via fxp0
00800   0     0 deny log logamount 100 ip from any to 169.254.0.0/16 in via fxp0
00900   0     0 deny log logamount 100 ip from any to 240.0.0.0/4 in via fxp0
01000   0     0 deny log logamount 100 icmp from any to any frag
01100   0     0 deny log logamount 100 icmp from any to 255.255.255.255 in via fxp0
01200   0     0 deny log logamount 100 icmp from any to 255.255.255.255 out via fxp0
01300   0     0 fwd 10.0.0.1,2121 tcp from 10.0.0.0/24 to any dst-port 21 via fxp0
01400   0     0 fwd 127.0.0.1,3128 tcp from 10.0.0.0/24 to any dst-port 80 via fxp0
01500   0     0 divert 8668 ip from 10.0.0.0/24 to any out via fxp0
01600   0     0 divert 8668 ip from any to 192.168.0.97 in via fxp0
01700   0     0 deny log logamount 100 ip from 10.0.0.0/8 to any out via fxp0
01800   0     0 deny log logamount 100 ip from 172.16.0.0/12 to any out via fxp0
01900   0     0 deny log logamount 100 ip from 192.168.0.0/16 to any out via fxp0
02000   0     0 deny log logamount 100 ip from 0.0.0.0/8 to any out via fxp0
02100   0     0 deny log logamount 100 ip from 169.254.0.0/16 to any out via fxp0
02200   0     0 deny log logamount 100 ip from 224.0.0.0/4 to any out via fxp0
02300   0     0 deny log logamount 100 ip from 240.0.0.0/4 to any out via fxp0
02400 564 81792 allow tcp from any to any established
02500   0     0 allow ip from 192.168.0.97 to any out xmit fxp0
02600  70  4315 allow udp from any 53 to any
02700  70  4315 allow udp from any to any dst-port 53
02800   0     0 allow udp from any to any dst-port 123 via fxp0
02900   0     0 allow tcp from any to 192.168.0.97 dst-port 21 via fxp0
03000   0     0 allow tcp from any to 192.168.0.97 dst-port 49152-65535 via fxp0
03100   0     0 allow icmp from any to any icmptypes 0,8,11
03200   0     0 allow tcp from any to 192.168.0.97 dst-port 80 via fxp0
03300   0     0 allow tcp from any to 192.168.0.97 dst-port 22 via fxp0
03400   0     0 allow tcp from any to 192.168.0.97 dst-port 143 via fxp0
03500   0     0 allow tcp from any to 192.168.0.97 dst-port 110 via fxp0
03600   1    48 allow tcp from any to any via rl0
03700  21  2091 allow udp from any to any via rl0
03800   0     0 allow icmp from any to any via rl0
65535   0     0 deny ip from any to any

2)На второй вопрос - нат прикручен. Исходные данные - интернет сервер получает по pppoe, поэтому без tun0 никак и нигде. Вот листинг rc.conf: на вопрос о интернете:

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

#PPPoE options
ppp_enable="YES"
ppp_profile="intellecom"
ppp_mode="dedicated"
ppp_nat="YES"
#NAT options
natd_enable="YES"
natd_interface="fxp0"
natd_flags="-m -u"

Опции файла ppp.conf:

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

default:
  set timeout 180
  set ifaddr 0 0

intellecom:
  set device PPPoE:fxp0
  set authname <auth_name>
  set authkey  <auth_key>
  set dial
  set login
  set redial 0 0
  add default HISADDR
  enable dns

Делался по настройкам провайдера.
Заранее спасибо за ответы и помошь, Вы меня всегда выручаете))
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1099
ОС: freeBSD

Re: Проблема раздачи интернета

Сообщение arachnid »

а в чем тогда вопрос? пинги наружу идут, ответ от фряшного кэширующего dns приходит, что не работает?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
Аватара пользователя
SergNik
Сообщения: 77
ОС: Windws+FreeBSD

Re: Проблема раздачи интернета

Сообщение SergNik »

arachnid писал(а):
30.03.2010 19:35
а в чем тогда вопрос? пинги наружу идут, ответ от фряшного кэширующего dns приходит, что не работает?

Виндовая машина через браузер не открывает интернет, скайп не грузится, аська не пашет..не растет кокос
Спасибо сказали:
Аватара пользователя
SHar
Сообщения: 182
Статус: Уйду я от вас...
ОС: Arch,FreeBSD,Mac 10.6.4

Re: Проблема раздачи интернета

Сообщение SHar »

SergNik писал(а):
30.03.2010 23:08
arachnid писал(а):
30.03.2010 19:35
а в чем тогда вопрос? пинги наружу идут, ответ от фряшного кэширующего dns приходит, что не работает?

Виндовая машина через браузер не открывает интернет, скайп не грузится, аська не пашет..не растет кокос

Подозреваю ДНС, шлюз на виндовой машинке
Спасибо сказали:
Аватара пользователя
DarkLelik
Сообщения: 194
Статус: Развожу демонов
ОС: Fedora 16/ FreeBsd 8.0

Re: Проблема раздачи интернета

Сообщение DarkLelik »

Действительно дело скорее всего в ДНС Что за ДНС сервер такой ? 10.0.0.1 Ваш ? Скорее всего он неверно настроен ...

Попробуйте ради эксперимента на машине прописать другой ДНС , например Гугла ... : 8.8.8.8 и 8.8.4.4

Если заработает значат мучайте свой ДНС сервер.
Вам навредит не то, о чем вы не знаете, а то, о чем вы думаете, что знаете, а на самом деле не знаете.

FreeBsd 8.0 - Сервер
Fedora - 16 Desktop
Спасибо сказали:
Аватара пользователя
SergNik
Сообщения: 77
ОС: Windws+FreeBSD

Re: Проблема раздачи интернета

Сообщение SergNik »

DarkLelik писал(а):
07.04.2010 14:13
Действительно дело скорее всего в ДНС Что за ДНС сервер такой ? 10.0.0.1 Ваш ? Скорее всего он неверно настроен ...

Попробуйте ради эксперимента на машине прописать другой ДНС , например Гугла ... : 8.8.8.8 и 8.8.4.4

Если заработает значат мучайте свой ДНС сервер.


Да на машине действительно стоит кэширующий ДНС. Без фаерволла отлично работает, при включении ipfw резолвятся адреса а кокос не растет. А на какой машине ставить другой днс?На фряхе или на винде?Потому как там связочка dhcp+dns)
Просто вопрос как его мучать, потому как без фаерволла все работает)Если надо могу по первому требованию выложить конфиг днс-а
Спасибо сказали:
Аватара пользователя
DarkLelik
Сообщения: 194
Статус: Развожу демонов
ОС: Fedora 16/ FreeBsd 8.0

Re: Проблема раздачи интернета

Сообщение DarkLelik »

А на какой машине ставить другой днс?На фряхе или на винде?Потому как там связочка dhcp+dns)
Просто вопрос как его мучать, потому как без фаерволла все работает)Если надо могу по первому требованию выложить конфиг днс-а


На винде , у Вас же там не работает. Оставте получение IP адреса на автомате, а ДНС руками пропишите. Попробуйте, если не получится значит дело не в ДНС. А если заработает выкладывайте сюда конфиг ДНС .
Вам навредит не то, о чем вы не знаете, а то, о чем вы думаете, что знаете, а на самом деле не знаете.

FreeBsd 8.0 - Сервер
Fedora - 16 Desktop
Спасибо сказали: