Страница 1 из 1
Проблема с роутером на фряхе
Добавлено: 2014-04-22 11:28:53
Plohish
Добрый день господа, направьте плиз в нужную сторону
Имеется роутер, две сетевухи, одна домой другая в локальную сеть города, интернет получаю по VPN при помощи mpd5
в принципе всё устраивает, всё пашет, но есть одна "гадость"
есть у меня две програмки, они специфичные, для настройки аппаратуры управления моделями. При запуске этих программ происходит проверка обновлений на сервере гугла.
Так вот, проблема, когда я запускаю одну из этих прог, она как бы повисает на некоторое время, иногда секунд до 20 с надписью "проверка обновлений", затем запускается.
Если после запуска программы нажать кнопку проверки обновлений, проверка происходит мгновенно! Почему этого не происходит при запуске программы?
Если убрать роутер и подключиться на прямую в сеть, при запуске программы проверка происходит мгновенно. Если подключиться к сети через роутер асус, проверка происходит мгновенно.
т.е. получается виноват мой роутер, но вот причину найти не могу.
в остальном пашет всё как положено, хочется разобраться.
Код: Выделить всё
root@plohish:~ # uname -a
FreeBSD plohish.com 9.2-RELEASE FreeBSD 9.2-RELEASE #0: Mon Mar 10 11:38:23 MSK 2014 root@desno.net:/usr/obj/usr/src/sys/MYKERNEL amd64
ipfw + kernel nat
заранее спасибо.
ссылка на видео
http://www.youtube.com/watch?v=egnW4Ac4gmU
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-22 12:24:37
weec
дебажить не пробовал?
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-22 12:27:58
Plohish
weec писал(а):дебажить не пробовал?
подскажите как?
на роутере смотрю утилитой trafshow трафик на внутренней сетевухе, при запуске программы и её "зависоне" трафика в сторону гугла нет

как только её отпускает, вот он трафик на 80 порт гугла...
возможно что то криво с DNS, однако и браузер и ping исправно без задержек ресолвят имена...
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-22 21:11:17
kharkov_max
Врятли Вам кто то поможет со спецефичной программой, но !!!
Ключевой момент:
Т.е. ядро вы меняли, тогда давайте начнем с конфига ядра, конфига ipfw и sysctl.conf.
Так же не мешало бы из этого
Код: Выделить всё
FreeBSD plohish.com 9.2-RELEASE FreeBSD 9.2-RELEASE
сдеалать Stable, хотя 100% не в этом дело...
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-22 21:26:35
Plohish
ядро
удалено
#options INET6 # IPv6 communications protocols
добавлено
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE
options LIBALIAS
options DUMMYNET
options IPDIVERT
options MROUTING
ipfw
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw -q"
LanIn="home"
LanOut="dls"
LanInet="ng0"
IpIn="172.16.1.1"
IpOut="192.168.47.52"
IpInet="x.x.x.x"
NetMask="24"
scopex="172.16.1.2"
dreambox="172.16.1.3"
kristina="172.16.1.4"
local_comp="172.16.1.13"
${FwCMD} -f flush
# Правила для loopback
${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
# bruteblock
${FwCMD} add 301 deny tcp from table\(50\) to me dst-port 22 in recv ${LanOut}
${FwCMD} add 303 deny tcp from table\(50\) to me dst-port 22 in recv ${LanInet}
${FwCMD} add 305 deny tcp from table\(50\) to me dst-port 21 in recv ${LanOut}
${FwCMD} add 307 deny tcp from table\(50\) to me dst-port 21 in recv ${LanInet}
#ограничение скорости инета для отдельного адреса
${FwCMD} add allow tcp from 172.16.1.0/24 to ${kristina} out via ${LanIn}
${FwCMD} add allow udp from 172.16.1.0/24 to ${kristina} out via ${LanIn}
${FwCMD} add pipe 31 ip from not 192.168.0.0/16 to ${kristina} out via ${LanIn}
${FwCMD} pipe 31 config bw 10000Kbit/s
# ssh server
${FwCMD} add deny tcp from any to any 22 in via ${LanInet}
# https server
${FwCMD} add deny tcp from any to any 10000 in via ${LanOut}
${FwCMD} add deny tcp from any to any 10000 in via ${LanInet}
# transmission server
${FwCMD} add deny tcp from any to any 9091 in via ${LanOut}
${FwCMD} add deny tcp from any to any 9091 in via ${LanInet}
# mediatomb
${FwCMD} add deny tcp from any to any 49152 in via ${LanOut}
${FwCMD} add deny tcp from any to any 49152 in via ${LanInet}
# Разрешаем обмен пакетами TCP через локальный интерфейс
${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanIn}
#------------------------------------------
${FwCMD} nat 1 config if ${LanOut} redirect_port tcp ${scopex}:6978 6978
${FwCMD} add nat 1 tcp from any to ${IpOut} 6978 via ${LanOut}
#------------------------------------------
${FwCMD} nat 2 config if ${LanOut} redirect_port udp ${scopex}:6661 6661
${FwCMD} add nat 2 udp from any to ${IpOut} 6661 via ${LanOut}
#------------------------------------------
${FwCMD} nat 3 config if ${LanOut} redirect_port udp ${scopex}:9996 9996
${FwCMD} add nat 3 udp from any to ${IpOut} 9996 via ${LanOut}
#---------------NAT--------------------------------------
${FwCMD} nat 10 config if ${LanOut}
${FwCMD} add nat 10 ip4 from any to any via ${LanOut}
${FwCMD} add 00325 count all from any to ${IpInet} via ${LanInet}
${FwCMD} add 00327 count all from ${IpInet} to any via ${LanInet}
#-------------------------------------------------------------------------------
${FwCMD} nat 15 config if ${LanInet} log reset same_ports redirect_port tcp ${scopex}:17117 17117
${FwCMD} add nat 15 tcp from any to ${IpInet} 17117 via ${LanInet}
#-------------------------------------------------------------------------------
${FwCMD} nat 17 config ip ${IpInet} log
${FwCMD} add nat 17 ip from 172.16.1.0/24 to 0.0.0.0/0
${FwCMD} add nat 17 ip from 0.0.0.0/0 to ${IpInet}
# Запрещаем то, что не разрешено (сейчас закоментировано, т.е. всё остальное пролазит)
#${FwCMD} add deny log ip from any to any
sysctl.conf девственно чист
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-22 21:56:13
kharkov_max
Во первых не нужно клепать столько конфигов nat, судя по вашему конфигу ipfw достаточно и одного.
А по вашей проблеме скорее всего ipfw nat - same_ports вам поможет.
Если нет, то действительно нужно как то дебажить.
Причешите фаер и почитайте про same_ports и остальные опции ядерного nat.
Составьте самый простой конфиг ipfw и поробуйте на нем, если заработает - усложняйте.
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-23 8:35:52
Plohish
спасибо, попробую
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-23 9:51:50
Plohish
довёл ipfw вот до такого вида:
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw -q"
LanIn="home"
LanOut="dls"
LanInet="ng0"
IpIn="172.16.1.1"
IpOut="192.168.47.52"
IpInet="x.x.x.x"
NetMask="24"
scopex="172.16.1.2"
dreambox="172.16.1.3"
kristina="172.16.1.4"
local_comp="172.16.1.13"
${FwCMD} -f flush
# Правила для loopback
${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
#---------------NAT--------------------------------------
${FwCMD} nat 10 config same_ports if ${LanOut}
${FwCMD} add nat 10 ip4 from any to any via ${LanOut}
${FwCMD} nat 17 config same_ports ip ${IpInet} log
${FwCMD} add nat 17 ip from 172.16.1.0/24 to 0.0.0.0/0
${FwCMD} add nat 17 ip from 0.0.0.0/0 to ${IpInet}
# Запрещаем то, что не разрешено (сейчас закоментировано, т.е. всё остальное пролазит)
#${FwCMD} add deny log ip from any to any
результата ноль

Re: Проблема с роутером на фряхе
Добавлено: 2014-04-23 10:30:29
kharkov_max
Зачем Вам 2 ната ?
Самый простой конфиг ipfw для вас будет такой
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw -q"
${FwCMD} nat 1 config reset same_ports ip x.x.x.x
))))))
Вот относительно него и проверяйте вашу супер прогу.
Если не заработает то я бы обновил систему до Stable, если и это не поможет то нужно смотреть tcpdump что там прога шлет и что ей отвечают.
А еще лучше вначале посмотреть логи самой проги, может там что то пишут ... или включить эти логи и посмотреть.
Как то так...
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-23 11:01:53
Plohish
у меня два внешних интерфейса, один это реальный "dls", второй это который получается после поднятия VPN "ng0" поэтому и два ната...
по кр мере у меня не получается с одним натом получить доступ и в инет и в локальную сеть за роутером...
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-23 11:19:40
kharkov_max
Plohish писал(а):у меня два внешних интерфейса, один это реальный "dls", второй это который получается после поднятия VPN "ng0" поэтому и два ната...
по кр мере у меня не получается с одним натом получить доступ и в инет и в локальную сеть за роутером...
Не буду врать, но вроде как достаточно одного ната на ng0.
Смотрите, остальные варианты, похоже что фаервол ни при чем ...
Я бы поглядел в сторону софтины, как нить на ней лог включил ...
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-23 11:53:13
Plohish
спасибо, буду думать...
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-23 16:34:30
Plohish
Макс, возможно это поможет, при запуске хитрой проги, на внутренней сетевухе tcpdump вынюхивает вот такую строку
Код: Выделить всё
17:31:35.767969 IP 172.16.1.2.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from xx:xx:xx:xx:xx:xx (oui Unknown), length 300
172.16.1.2 это адрес машину на которой винда и на которой запускается эта прога... ну xx:xx:xx... это МАС этой машины
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-23 20:04:45
Plohish
порыл DHCP, включил логи, нашёл вот это:
Код: Выделить всё
dhcpd: DHCPINFORM from 172.16.1.2 via home: not authoritative for subnet 172.16.1.0
включил параметр
authoritative в конфиге
строка
Код: Выделить всё
IP 172.16.1.2.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from xx:xx:xx:xx:xx:xx (oui Unknown), length 300
перестала появляться
задержки при старте программы стали меньше, но всё же не так быстро как без роутера...
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-24 8:00:21
kharkov_max
Что хоть за прога?
Или это самописная?
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-24 8:21:29
Plohish
Re: Проблема с роутером на фряхе
Добавлено: 2014-04-24 8:32:38
Plohish
кстати, я соврал, от строки
Код: Выделить всё
09:30:22.329726 IP 172.16.1.2.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from xx:xx:xx:xx:xx:xx (oui Unknown), length 300
я так и не избавился... скорее всего проблема именно в этом