Jump to content

Recommended Posts

Posted

Собрал такой набор правил:

 

#!/bin/sh

fwcmd="/sbin/ipfw -q"

ipfw -f flush
ipfw -f pipe flush
ipfw -f queue flush
ipfw table  all flush

ipfw add 101 allow all from any to any via lo0
ipfw add 102 deny all from any to 127.0.0.0/8
ipfw add 103 deny all from 127.0.0.0/8 to any


ipfw nat 1 config if $exit_if same_ports log
ipfw add 200 nat 1  ip from 192.168.0.0/16 to any via $exit_if
ipfw add 210 nat 1  ip from any to me via $exit_if

ipfw add 300 allow all from 192.168.0.0/16 to 192.168.0.0/16


ipfw pipe 1000 config bw 1024Kbit/s mask src-ip 0xffffffff
ipfw pipe 1001 config bw 1024Kbit/s mask dst-ip 0xffffffff


ipfw table 1 add 192.168.210.101 1

ipfw add 1000 pipe tablearg  all from "table(1)" to any in via $intofffice
ipfw add 1001 pipe tablearg  all from any to "table(1)" out via $intofffice

 

проблема в том что после добавления:

ipfw add 1000 pipe tablearg  all from "table(1)" to any in via $intofffice
ipfw add 1001 pipe tablearg  all from any to "table(1)" out via $intofffice

хост 192.168.210.101 в обще перестает работать и связь с внешним миром пропадает.

 

Список загруженных правил:

# ipfw show
00101    0      0 allow ip from any to any via lo0
00102    0      0 deny ip from any to 127.0.0.0/8
00103    0      0 deny ip from 127.0.0.0/8 to any
00200    0      0 nat 1 log  ip from 192.168.0.0/16 to any via $exit_if
00210    0      0 nat 1 log  ip from any to me via $exit_if
00300   68   5760 allow ip from 192.168.0.0/16 to 192.168.0.0/16
01000    1     60 pipe tablearg  ip from table(1) to any in via $officevlan
01001    0      0 pipe tablearg 0 ip from any to table(1) out via $officevlan
65535 2829 514336 allow ip from any to any
#

 

net.inet.ip.fw.one_pass: 1

Posted

ipfw add 1000 pipe tablearg  all from "table(1)" to any in via $intofffice

1) Если заменить на "out via $exit_if", проблема исчезает?

2) Если нет, то что говорят "ipfw table 1 list" и "ipfw pipe list"?

Posted
ipfw add 102 deny all from any to 127.0.0.0/8ipfw add 103 deny all from 127.0.0.0/8 to any

 

Вроде ip_input сам такое дропает.

 

 

 

 

00200 0 0 nat 1 log ip from 192.168.0.0/16 to any via $exit_if00210 0 0 nat 1 log ip from any to me via $exit_if00300 68 5760 allow ip from 192.168.0.0/16 to 192.168.0.0/1601000 1 60 pipe tablearg ip from table(1) to any in via $officevlan01001 0 0 pipe tablearg 0 ip from any to table(1) out via $officevlan

 

ipfw show должен выдавать реальные интерфейсы, а не $******

 

 

Posted

Не много закрыл глаза, пришел в себя и сделал:

 

#!/bin/sh

fwcmd="/sbin/ipfw -q"
ifprov=em0
ifvlan=igb0
provip="1.2.3.4"

/sbin/ipfw -f flush
/sbin/ipfw -f pipe flush
/sbin/ipfw -f queue flush
/sbin/ipfw table all flush
/sbin/ipfw -f nat flush

/sbin/ipfw add 101 allow all from any to any via lo0
/sbin/ipfw add 102 deny all from any to 127.0.0.0/8
/sbin/ipfw add 103 deny all from 127.0.0.0/8 to any

/sbin/ipfw add 150 allow tcp from any to me 22 in setup keep-state
/sbin/ipfw add 153 deny ip from any to any dst-port 7700
/sbin/ipfw add 154 deny ip from any to any dst-port 8080

/sbin/ipfw nat 1 config if $ifprov same_ports log
/sbin/ipfw add 200 nat 1 log ip from any to $provip via $ifprov
/sbin/ipfw add 210 nat 1 log ip from 192.168.0.0/16 to any via $ifprov

/sbin/ipfw add 300 allow all from 192.168.0.0/16 to 192.168.0.0/16

/sbin/ipfw pipe 1000 config bw 2048Kbit/s mask dst-ip 0x000000ff
/sbin/ipfw pipe 1001 config bw 2048Kbit/s mask src-ip 0x000000ff

/sbin/ipfw table 1 add 192.168.0.0/16 1000
/sbin/ipfw table 2 add 192.168.0.0/16 1001

ipfw add 1000 pipe tablearg log logamount 10000 all from any to "table(1)" out
ipfw add 1001 pipe tablearg log logamount 10001 all from "table(2)" to any in


 

все вроде работает.

всем абонам сети нарезается по 2мегабита.

 

единственное что тут пока не понятно это, как запретить все входящие не запрошенные коннекты, ну и не потерять доступ по ssh

и как правильно очищать правила с таблицами.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.