Форум на Краснотурьинск.ру
/cgi-bin/yabb2/YaBB.pl
Технический >> Программное обеспечение >> Маршрутизатор на FreeBSD непонятно себя ведет...
/cgi-bin/yabb2/YaBB.pl?num=1481179653

Сообщение написано Vitya в 08.12.2016 :: 11:47:33

Заголовок: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 08.12.2016 :: 11:47:33
Странно, но я не понимаю где собака порылась!
Дано:
1 комп выполняет роль шлюза для организации выхода в интернет
FreeBSD 8.2
два сетевых интерфейса
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:22:b0:e1:fb:86
        inet 212.75.x.x netmask 0xfffff000 broadcast 212.75.y.y
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3808<VLAN_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether 00:80:48:15:04:7a
        inet 192.168.1.11 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

2 комп (все компы организации) для примера адрес 192.168.1.4
Стоят в перемешку винды 7, 10 про прописан шлюз 192.168.1.11

когда со шлюза пинги
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=55 time=23.629 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=23.684 ms

PING 192.168.1.4 (192.168.1.4): 56 data bytes
64 bytes from 192.168.1.4: icmp_seq=0 ttl=128 time=0.214 ms
64 bytes from 192.168.1.4: icmp_seq=1 ttl=128 time=0.301 ms

с рабочей машины 192.168.1.11 пингует
внешний адрес шлюза 212.75.х.х пингует
пытаешься припинговать 8.8.8.8 - нет связи и с любым адресом во внешнем мире связи нет.

Теперь самое интересное
ставим аппаратный шлюз (DIR-300) настраиваем и все работает.

С маршрутизатором ничего не делали - просто стал не пускать в инет.
В чем может быть проблема?
Ответы типа - дак оставь DIR-300 не принимаются, нужен именно программный шлюз.


Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано FiN в 08.12.2016 :: 11:55:30
sysctl net.inet.ip.forwarding
что говорит если 1, то смотерть как nat сделан.

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 08.12.2016 :: 12:01:57
говорит 1
NATD
natd.conf
//-----
same_ports
use_sockets
//----


Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 08.12.2016 :: 12:06:26
Все же раньше работало, изменений ни каких не вносил!
Ладно бы на Виндах шлюз собран был, с FreeBSD никогда не чего не было.

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано FiN в 08.12.2016 :: 12:20:29

Vitya записан в 08.12.2016 :: 12:01:57:
говорит 1

ну так проверяй дальше в процессах natd есть?
ipfw sh пакеты в нат заворачиваются?

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 08.12.2016 :: 17:53:49
В процессах natd есть
root          980  0.0  0.1  3444  1320  ??  Ss   10:32AM   0:00.06 /sbin/natd -dynamic -n vr0
а как узнать заворачиваются ли пакеты?

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано FiN в 08.12.2016 :: 18:08:38
вывод ipfw sh
должны быть правила с divert  там счетчики пакетов

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 08.12.2016 :: 18:33:14
Вот блин
---x------   1 root  wheel      1434 Jan  6  2016 firewall.sh

$ chmod 777 firewall.sh
chmod: firewall.sh: Operation not permitted

$ ipfw list
ipfw: socket: Operation not permitted
$ ipfw show
ipfw: socket: Operation not permitted

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 08.12.2016 :: 18:46:22
Блин права забыл применить

/etc/>ipfw list
01000 allow ip from any to any via lo0
01100 deny ip from any to 127.0.0.0/8
01200 deny icmp from any to any frag
01400 deny tcp from any to any not established tcpflags fin
01600 deny tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
04000 deny udp from any 137-139 to any via rl0
04100 deny udp from any to any dst-port 137-139 via rl0
06000 allow ip from any to any
65535 deny ip from any to any

Странно в моих правилах firewall.sh прописано совсем другое. 65535 нету. Буду искать где прописывается

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано FiN в 08.12.2016 :: 19:15:24

Vitya записан в 08.12.2016 :: 18:46:22:
Странно в моих правилах firewall.sh прописано совсем другое. 65535 нету. Буду искать где прописывается

это ядро добавляет но это не важно

где у тебя правила которые в нат пакеты запихивают? :)
перед allow ip from any to any
должно быть чтото типа
ipfw add divert natd ip from 192.168.1.1/24 to any
ipfw add divert natd ip from any to 212.75.x.x

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 08.12.2016 :: 19:43:18
Вот то и самое странное в правилах то они прописаны
Правила прикреплены.

/cgi-bin/yabb2/YaBB.pl?action=downloadfile;file=ipfw.JPG (75 KB | 202 )

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано FiN в 08.12.2016 :: 21:25:30
ну так в них косяки значит - раз их нет в итоговом выводе ipfw sh,  руками вставляй построчно в консоли и увидишь где ошибки, двоеточие перед маской точно косяк... все же просто проверяется.

ну и входящий как мне помнится должен быть так вписан
ipfw add divert natd ip from 192.168.1.1/24 to any in via rl0

на vr0 не может быть трафика из 192 при нормально нате:)

ps в чем вообще прикол использовать pc роутеры если нет каких то не стандартных задач, дешманский трлинк делает тоже самое жрет меньше и к нему не нужен специальный человек, этот пост хорошо иллюстрирует проблему:)


Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 09.12.2016 :: 15:16:36
Все - человек уволен - поставлен железный маршрутизатор!:)

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Kol в 09.12.2016 :: 17:16:24
@ FiN

Фин! тебе не стыдно? может у чувака детей мал мала? ))))))))))))))))))))

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано FiN в 09.12.2016 :: 23:56:41

Kol записан в 09.12.2016 :: 17:16:24:
Фин! тебе не стыдно? может у чувака детей мал мала?

ну ты это зря, я до последнего помогал, со 99.99% вероятностью  локализовал проблему... если там Vitya сам себя уволил, это не мой вопрос, что мог сделал!

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 10.12.2016 :: 17:19:30
Поставлен временно железный маршрутизатор, с FreeBSD позже разберусь, но в свете того что провайдер всех до 2017 года переведет на "серые" адреса, вряха, в принципе, больше не понадобится.
Этот шлюз на вряхе без вноса изменений отработал 7 лет и для меня не понятно что с ним произошло.

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано FiN в 10.12.2016 :: 22:05:20

Vitya записан в 10.12.2016 :: 17:19:30:
Этот шлюз на вряхе без вноса изменений отработал 7 лет и для меня не понятно что с ним произошло.

я же тебе написал что произошло - в выводе ipfw sh нет правил которые заворачивают трафик в нат, и вообще конфиг который ты показал не совпадает с выводом ipfw sh
06000 allow ip from any to any
а в конфиге оно за номером 8000, т.е. как вариант не этот конфиг не запускается, в конце концов руками его запусти  и все понятно будет.

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 11.12.2016 :: 12:58:12
В понедельник гляну...отпишусь.

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано Vitya в 12.12.2016 :: 09:57:56
rc.conf
//----------
firewall_enable="YES"
firewall_script="/etc/firewall.sh"
//----------

firewall.sh
//--------
#! /bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add 1000 pass all from any to any via lo0
/sbin/ipfw add 1100 deny all from any to 127.0.0.0/8
/sbin/ipfw add 1200 deny icmp from any to any frag
/sbin/ipfw add 1300 deny icmp from any to any in icmpptype 5,9,13,14,15,16,17
/sbin/ipfw add 1400 deny tcp from any to any not established tcpflags fin
/sbin/ipfw add 1500 deny tcp from any to any tcpflags fin,syn,rft,psh,ack,urg
/sbin/ipfw add 1600 deny tcp from any to any tcpflags !fin,!syn,!rst,!psh,!ack,!urg
/sbin/ipfw add 4000 deny udp from any 137-139 to any via rl0
/sbin/ipfw add 4100 deny udp from any to any 137-139 via rl0
/sbin/ipfw add 5000 divert natd ip from 192.168.1.0:255.255.255.0 to any out xmit vr0
/sbin/ipfw add 5100 divert natd ip from any to 212.75.x.x
/sbin/ipfw add 7000 divert natd ip from 192.168.1.0/24 to any out via vr0
/sbin/ipfw add 7100 divert natd ip from any to 212.75.x.x in via vr0
/sbin/ipfw add 8000 allow all from any to any

file "/etc/firewall.sh", 16 lines
//---------------------

/etc/>ipfw sh
ipfw: DEPRECATED: 'sh' matched 'show' as a sub-string
01000     88     4400 allow ip from any to any via lo0
01100      0        0 deny ip from any to 127.0.0.0/8
01200      0        0 deny icmp from any to any frag
01400      0        0 deny tcp from any to any not established tcpflags fin
01600      0        0 deny tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
04000  37051  3986205 deny udp from any 137-139 to any via rl0
04100      4      312 deny udp from any to any dst-port 137-139 via rl0
08000 171266 12151798 allow ip from any to any
65535      0        0 deny ip from any to any


Ручками добавляю
/sbin/ipfw add 7000 divert natd ip from 192.168.1.0/24 to any out via vr0
и о чудо дополняется!
/etc/>ipfw show
01000     88     4400 allow ip from any to any via lo0
01100      0        0 deny ip from any to 127.0.0.0/8
01200      0        0 deny icmp from any to any frag
01400      0        0 deny tcp from any to any not established tcpflags fin
01600      0        0 deny tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
04000  37093  3989783 deny udp from any 137-139 to any via rl0
04100      4      312 deny udp from any to any dst-port 137-139 via rl0
07000      0        0 divert 8668 ip from 192.168.1.0/24 to any out via vr0
08000 171481 12188718 allow ip from any to any
65535      0        0 deny ip from any to any

Что им мешает из скрипта добавится?

Заголовок: Re: Маршрутизатор на FreeBSD непонятно себя ведет...
Создано FiN в 16.12.2016 :: 00:31:47
ну чем я не телепат:)


Vitya записан в 12.12.2016 :: 09:57:56:
Что им мешает из скрипта добавится?

я не помню и не знал как оно запускается через скрипты из rc.conf поэтому закоментируй в нем
#firewall_enable="YES"
#firewall_script="/etc/firewall.sh"

и впиши в rc.local
/etc/firewall.sh > /tmp/firewall.log 2>&1

после смотри firewall.log на ошибки, да и кcтати их  и в консоли видно при старте

ну а вообще

Цитировать:
/sbin/ipfw add 5000 divert natd ip from 192.168.1.0:255.255.255.0 to any out xmit vr0
/sbin/ipfw add 5100 divert natd ip from any to 212.75.x.x
/sbin/ipfw add 7000 divert natd ip from 192.168.1.0/24 to any out via vr0
/sbin/ipfw add 7100 divert natd ip from any to 212.75.x.x in via vr0

тут явно кривое все я уже про это писал...

Форум на Краснотурьинск.ру » Powered by YaBB 2.5 AE
YaBB © 2000-2011. Все права защищены.