Биллинговая система Nodeny
23 Ноября 2024, 09:31:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: ipfw 2 интерфейса  (Прочитано 7076 раз)
kuhar
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 128


Просмотр профиля
« : 15 Ноября 2011, 09:14:43 »

Всем привет.
Подскажите плиз как правильно написать в /etc/rc.firewall, чтобы одно и тоже правило действовало для двух интерфейсов.
Сейчас прописано:
Код:
cat /etc/rc.firewall
#!/bin/sh -
f='/sbin/ipfw'

ifOut='tun0'

${f} -f flush

${f} add 50 allow tcp from any to me 22,21,20,8088
${f} add 51 allow tcp from me 22,21,20,8088 to any

${f} add 60 allow tcp from any to me 28560-28570

${f} add 100 deny tcp from any to any 445

${f} add 110 allow ip from any to any via lo0
${f} add 120 skipto 1000 ip from me to any
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 140 deny ip from any to "table(120)"
${f} add 150 deny ip from "table(120)" to any
${f} add 160 skipto 2000 ip from any to me

${f} add 200 skipto 500 ip from any to any via ${ifOut}

${f} add 300 skipto 4500 ip from any to any in

${f} add 400 skipto 450 ip from any to any recv ${ifOut}
${f} add 420 divert 1 ip from any to any
${f} add 450 divert 2 ip from any to any
${f} add 490 allow ip from any to any

${f} add 500 skipto 32500 ip from any to any in
${f} add 510 divert 1 ip from any to any
${f} add 540 allow ip from any to any

${f} add 1000 allow udp from any 53,7723 to any
${f} add 1010 allow tcp from any to any setup keep-state
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any

${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 80,443
${f} add 2050 deny ip from any to any via ${ifOut}
${f} add 2060 allow udp from any to any 53,7723


${f} add 2100 deny ip from any to any


${f} add 32490 deny ip from any to any

А необходимо точно такое же для tun1 создать и чтобы они одновременно работали.
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #1 : 15 Ноября 2011, 09:32:11 »

Код:
ipfw add deny ip from any to any { via if1 or via if2 or via ifN }
А дальше уж сами
Записан
kuhar
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 128


Просмотр профиля
« Ответ #2 : 15 Ноября 2011, 10:32:27 »

Код:
ipfw add deny ip from any to any { via if1 or via if2 or via ifN }
А дальше уж сами

А можно плизз по подробней, не совсем понял...
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #3 : 15 Ноября 2011, 12:20:24 »

подробнее: "man ipfw"
P.S. Тут гадалок нет. Мы должны сами угадать какое правило и что оно должно (не)принимать???
Записан
kuhar
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 128


Просмотр профиля
« Ответ #4 : 15 Ноября 2011, 13:09:51 »

подробнее: "man ipfw"
P.S. Тут гадалок нет. Мы должны сами угадать какое правило и что оно должно (не)принимать???

Все правила должны остаться текущими, просто нужно чтобы они работали и для tun1.
Просто в фаерволе через запятую невозможно указать перечень интерфейсов, как другим способом его добавить?
Записан
kuhar
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 128


Просмотр профиля
« Ответ #5 : 16 Ноября 2011, 14:43:35 »

Внес следующие настройки:
Код:
cat /etc/rc.firewall
#!/bin/sh -
f='/sbin/ipfw'

ifOut='tun0'

${f} -f flush

${f} add 50 allow tcp from any to me 22,21,20,8088
${f} add 51 allow tcp from me 22,21,20,8088 to any

${f} add 60 allow tcp from any to me 28560-28570

${f} add 100 deny tcp from any to any 445

${f} add 110 allow ip from any to any via lo0
${f} add 120 skipto 1000 ip from me to any
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 140 deny ip from any to "table(120)"
${f} add 150 deny ip from "table(120)" to any
${f} add 160 skipto 2000 ip from any to me

${f} add 200 skipto 500 ip from any to any via ${ifOut}

${f} add 300 skipto 4500 ip from any to any in

${f} add 400 skipto 450 ip from any to any recv ${ifOut}
${f} add 420 divert 1 ip from any to any
${f} add 450 divert 2 ip from any to any
${f} add 490 allow ip from any to any

${f} add 500 skipto 32500 ip from any to any in
${f} add 510 divert 1 ip from any to any
${f} add 540 allow ip from any to any

${f} add 1000 allow udp from any 53,7723 to any
${f} add 1010 allow tcp from any to any setup keep-state
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any

${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 80,443
${f} add 2050 deny ip from any to any via ${ifOut}
${f} add 2060 allow udp from any to any 53,7723

${f} add 2100 deny ip from any to any


${f} add 32490 deny ip from any to any

ifOut2='tun1'

${f} add 201 skipto 500 ip from any to any via ${ifOut2}

${f} add 401 skipto 450 ip from any to any recv ${ifOut2}

${f} add 2051 deny ip from any to any via ${ifOut2}

Добавил в mpd.conf
Код:
pppoe_server_2:

        create bundle template B
        set ipcp ranges 192.168.10.10/32 127.0.0.3/32
        set ipcp dns 212.115.255.5 10.0.1.1
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e56
        set mppc yes e128
        set mppc yes stateless
        set ecp disable dese-bis dese-old

        create link template common pppoe
        set link enable multilink
        set link action bundle B
        set link disable chap pap eap
        set link enable pap
        load radius
        set pppoe service "*"

        create link template vr0 common
        set link max-children 1000
        set pppoe iface vr0
        set link enable incoming

И в pf.conf
Код:
nat pass on re1 from 192.253.0.0/24 to any -> re1

re1 - вторая сетевуха, которая принимает вход
Клиент получает новый ip, но трафик идет через первый входящий канал.
Подскажите, как завернуть трафик, чтобы он ишел со второго канала?
Насколько я понял нужно настроить роутинг, можете подсказать как это осуществить?
Записан
hardms
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 43


Просмотр профиля
« Ответ #6 : 18 Ноября 2011, 21:28:30 »

Внес следующие настройки:
Код:
cat /etc/rc.firewall
#!/bin/sh -
f='/sbin/ipfw'

ifOut='tun0'

${f} -f flush

${f} add 50 allow tcp from any to me 22,21,20,8088
${f} add 51 allow tcp from me 22,21,20,8088 to any

${f} add 60 allow tcp from any to me 28560-28570

${f} add 100 deny tcp from any to any 445

${f} add 110 allow ip from any to any via lo0
${f} add 120 skipto 1000 ip from me to any
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 140 deny ip from any to "table(120)"
${f} add 150 deny ip from "table(120)" to any
${f} add 160 skipto 2000 ip from any to me

${f} add 200 skipto 500 ip from any to any via ${ifOut}

${f} add 300 skipto 4500 ip from any to any in

${f} add 400 skipto 450 ip from any to any recv ${ifOut}
${f} add 420 divert 1 ip from any to any
${f} add 450 divert 2 ip from any to any
${f} add 490 allow ip from any to any

${f} add 500 skipto 32500 ip from any to any in
${f} add 510 divert 1 ip from any to any
${f} add 540 allow ip from any to any

${f} add 1000 allow udp from any 53,7723 to any
${f} add 1010 allow tcp from any to any setup keep-state
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any

${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 80,443
${f} add 2050 deny ip from any to any via ${ifOut}
${f} add 2060 allow udp from any to any 53,7723

${f} add 2100 deny ip from any to any


${f} add 32490 deny ip from any to any

ifOut2='tun1'

${f} add 201 skipto 500 ip from any to any via ${ifOut2}

${f} add 401 skipto 450 ip from any to any recv ${ifOut2}

${f} add 2051 deny ip from any to any via ${ifOut2}

Добавил в mpd.conf
Код:
pppoe_server_2:

        create bundle template B
        set ipcp ranges 192.168.10.10/32 127.0.0.3/32
        set ipcp dns 212.115.255.5 10.0.1.1
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e56
        set mppc yes e128
        set mppc yes stateless
        set ecp disable dese-bis dese-old

        create link template common pppoe
        set link enable multilink
        set link action bundle B
        set link disable chap pap eap
        set link enable pap
        load radius
        set pppoe service "*"

        create link template vr0 common
        set link max-children 1000
        set pppoe iface vr0
        set link enable incoming

И в pf.conf
Код:
nat pass on re1 from 192.253.0.0/24 to any -> re1

re1 - вторая сетевуха, которая принимает вход
Клиент получает новый ip, но трафик идет через первый входящий канал.
Подскажите, как завернуть трафик, чтобы он ишел со второго канала?
Насколько я понял нужно настроить роутинг, можете подсказать как это осуществить?



Таже хрень Сам ищу выход с этой ситуации  Мож кто за WMZ поможет ?
Записан
Demeo
NoDeny
Постоялец
*

Карма: 6
Offline Offline

Сообщений: 204


Просмотр профиля Email
« Ответ #7 : 19 Ноября 2011, 00:26:10 »

ifOut2 определять не пробовали для начала? Откуда ipfw будет знать какой интерфейс вы под этим подразумеваете?
Записан
kuhar
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 128


Просмотр профиля
« Ответ #8 : 23 Ноября 2011, 16:01:46 »

ifOut2 определять не пробовали для начала? Откуда ipfw будет знать какой интерфейс вы под этим подразумеваете?
но ведь указано какому интерфейсу относится ifOut2:
Код:
ifOut2='tun1'
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #9 : 23 Ноября 2011, 19:54:02 »

Код:
ipfw add deny ip from any to any { via if1 or via if2 or via ifN }
А дальше уж сами
кстати, а давно такая конструкция ( { via if1 or via if2 or via ifN } ) появилась в ipfw? А то на момент написания инструкции (лет пару назад последняя была) я пробовал через запятую указывать - не работало, не знал, что так можно Грустный Проблема была в правиле, где юзается recv, а с такой конструкцией все упрощается
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #10 : 23 Ноября 2011, 20:36:08 »

Вот хз, давно или нет. Через зяпятую тоже работает, только как "and"
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #11 : 23 Ноября 2011, 21:13:32 »

Вот хз, давно или нет. Через зяпятую тоже работает, только как "and"
а как пакет может проходить единовременно через один интерфейс и через другой? Улыбающийся Возможно оно имеется ввиду "and", но применительно к интерфейсам это бессмысленно.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!