kuhar
NoDeny
Постоялец
Карма: 0
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
Сообщений: 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
Сообщений: 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
Сообщений: 1059
|
|
« Ответ #3 : 15 Ноября 2011, 12:20:24 » |
|
подробнее: "man ipfw" P.S. Тут гадалок нет. Мы должны сами угадать какое правило и что оно должно (не)принимать???
|
|
|
Записан
|
|
|
|
kuhar
NoDeny
Постоялец
Карма: 0
Offline
Сообщений: 128
|
|
« Ответ #4 : 15 Ноября 2011, 13:09:51 » |
|
подробнее: "man ipfw" P.S. Тут гадалок нет. Мы должны сами угадать какое правило и что оно должно (не)принимать???
Все правила должны остаться текущими, просто нужно чтобы они работали и для tun1. Просто в фаерволе через запятую невозможно указать перечень интерфейсов, как другим способом его добавить?
|
|
|
Записан
|
|
|
|
kuhar
NoDeny
Постоялец
Карма: 0
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
Сообщений: 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
Сообщений: 204
|
|
« Ответ #7 : 19 Ноября 2011, 00:26:10 » |
|
ifOut2 определять не пробовали для начала? Откуда ipfw будет знать какой интерфейс вы под этим подразумеваете?
|
|
|
Записан
|
|
|
|
kuhar
NoDeny
Постоялец
Карма: 0
Offline
Сообщений: 128
|
|
« Ответ #8 : 23 Ноября 2011, 16:01:46 » |
|
ifOut2 определять не пробовали для начала? Откуда ipfw будет знать какой интерфейс вы под этим подразумеваете?
но ведь указано какому интерфейсу относится ifOut2:
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #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
Сообщений: 1059
|
|
« Ответ #10 : 23 Ноября 2011, 20:36:08 » |
|
Вот хз, давно или нет. Через зяпятую тоже работает, только как "and"
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #11 : 23 Ноября 2011, 21:13:32 » |
|
Вот хз, давно или нет. Через зяпятую тоже работает, только как "and"
а как пакет может проходить единовременно через один интерфейс и через другой? Возможно оно имеется ввиду "and", но применительно к интерфейсам это бессмысленно.
|
|
|
Записан
|
|
|
|
|