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

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

Карма: 138
Offline Offline

Сообщений: 4789



Просмотр профиля
« : 30 Января 2012, 14:08:44 »

Возможно, кому-то пригодится.
Код:
#!/bin/sh -
f='/sbin/ipfw'
ifOut='tun0 tun1 tun2'

ifVia=''
ifRecv=''
tmp_or=''
for i in $ifOut
  do
    ifVia="${ifVia}${tmp_or}via $i"
    ifRecv="${ifRecv}${tmp_or}recv $i"
    tmp_or=' or '
  done

${f} -f flush

# dns, www.liqpay.com, liqpay.com
${f} table 100 add 8.8.8.8
${f} table 100 add 50.16.196.80
${f} table 100 add 184.73.55.73

${f} add 50 allow tcp from any to me 22
${f} add 51 allow tcp from me 22 to any

${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 160 skipto 2000 ip from any to me

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

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

${f} add 400 skipto 450 ip from any to any { $ifRecv }
${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,5006
${f} add 2050 deny ip from any to any { $ifVia }
${f} add 2060 allow udp from any to any 53,7723

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

${f} add 4500 allow ip from any to "table(100)"
${f} add 32490 deny ip from any to any
${f} add 32500 allow ip from "table(100)" to any
Записан
poxy.
NoDeny
Спец
*

Карма: 10
Offline Offline

Сообщений: 844



Просмотр профиля
« Ответ #1 : 30 Января 2012, 14:29:59 »

Пригодится, спасибо!
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #2 : 30 Января 2012, 21:29:47 »

Все гениальное просто Улыбающийся
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #3 : 30 Января 2012, 22:41:23 »

все гениальное есть в манах )))
Записан
garik24
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 73



Просмотр профиля
« Ответ #4 : 12 Января 2013, 15:25:44 »

Может кому пригодится:
Текущие актуальные адреса для работы liqpay у юзеров без авторизации, в т.ч. при оплате с пл. карты(ecommerce.liqpay.com).
Цитировать
# dns, www.liqpay.com, liqpay.com, ecommerce.liqpay.com
${fwcmd} table 100 add 8.8.8.8
${fwcmd} table 100 add 50.16.196.80
${fwcmd} table 100 add 107.21.122.223
${fwcmd} table 100 add 75.101.158.123
Записан
ankos
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 45


Просмотр профиля Email
« Ответ #5 : 24 Января 2013, 16:23:57 »

Возможно, кому-то пригодится.
Код:
ifVia=''
ifRecv=''
tmp_or=''
Прошу прощения за столь глупый вопрос, а сюда что нужно ставить?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4789



Просмотр профиля
« Ответ #6 : 24 Января 2013, 17:28:55 »

Ничего, это инициализация внутренних переменных. Такой стиль у башевых скриптов - все в куче как в славные времена
Записан
Rico-X
NoDeny
Старожил
*

Карма: 7
Offline Offline

Сообщений: 349


Просмотр профиля
« Ответ #7 : 24 Января 2013, 18:24:48 »

Ну раз такое дело вариант балансировки нагрузки на pf излеченный от болезни когда часть сайтов не пашет.
Код:
set limit states 128000
set optimization aggressive
ext_if1="vlan100" #Kanal1
ext_if2="vlan200" #Kanal2
ext_gw1="192.168.88.1"
ext_gw2="192.168.89.1"

table <no_nat> const { 192.168.0.0/16 10.0.0.0/8 }
scrub in all #Lechim trafik

nat on $ext_if1 from 10.0.0.0/8 to !<no_nat> -> { ($ext_if2) ($ext_if1) ($ext_if2) } round-robin sticky-address

pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to !<no_nat>
pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to !<no_nat>
Каналы не симметричны, по этому { ($ext_if2) ($ext_if1) ($ext_if2) } для симметричных лучше  так { ($ext_if1) ($ext_if2) }
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

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