![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| Stephon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 5.12.2005 Репутация: нет Всего: нет |
Настроен firewall на BSD. Нужно организовать канал для нескольких пользователей сети. Выставляю скрипт.
#!/bin/sh #Just macro for ipfw command. Key -q means no echo output on screen. fwcmd="/sbin/ipfw -q" #***************** # Initial setup #**************** # External network LanOut="xl0" IPOut="101.101.101.101" NetOut="29" MaskOut="255.255.255.248" # Internal Network LanIn="xl1" IPIn="10.0.0.1" NetInIP="10.0.0.0" NetInMask="24" MaskIn="255.255.255.0" # Vip IP address MyIP1="10.0.0.78" MyIP2="10.0.0.77" # My DNS for future needs. dns1="101.101.101.5" dns2="101.101.101.9" # Reset all rules ${fwcmd} -f flush ${fwcmd} –f pipe flush # By default loopback ${fwcmd} add pass all from any to any via lo0 # Stop private networks (RFC1918) from entering the outside interface. ${fwcmd} add deny ip from 192.168.1.0/16 to any in via ${LanOut} ${fwcmd} add deny ip from 172.16.0.0/12 to any in via ${LanOut} ${fwcmd} add deny ip from 10.0.0.0/8 to any in via ${LanOut} # Forward to SQUID all local request for http,https,ftp #${fwcmd} add fwd 127.0.0.1,3128 tcp from ${NetInIP}/${NetInMask} to any http,https,ftp via ${LanIn} # For NAT support ${fwcmd} add divert natd ip from ${NetInIP}/${NetInMask} to any out via ${LanOut} ${fwcmd} add divert natd ip from any to ${IPOut} in via ${LanOut} # For DUMMYNET conections ${fwcmd} pipe 1 config bw 15KBytes/s ${fwcmd} queue 1 config weight 90 pipe 1 ${fwcmd} queue 2 config weight 70 pipe 1 ${fwcmd} queue 3 config weight 50 pipe 1 ${fwcmd} queue 4 config weight 50 pipe 1 ${fwcmd} add queue 1 ip from 10.0.0.58 to any 80,443 ${fwcmd} add queue 1 ip from any 80,443 to 10.0.0.58 ${fwcmd} add queue 2 ip from 10.0.0.25 to any 80,443 ${fwcmd} add queue 2 ip from any 80,443 to 10.0.0.25 ${fwcmd} add queue 3 ip from 10.0.0.80 to any 80,443 ${fwcmd} add queue 3 ip from any 80,443 to 10.0.0.80 ${fwcmd} add queue 4 ip from 10.0.0.24 to any 80,443 ${fwcmd} add queue 4 ip from any 80,443 to 10.0.0.24 # Accept all RST and ACK connections ${fwcmd} add pass tcp from any to any established # For out packets IP ${fwcmd} add pass ip from ${IPOut} to any out xmit ${LanOut} # Allow sendmail ${fwcmd} add pass tcp from any to any 25,110 via ${LanOut} ${fwcmd} add pass tcp from any 25,110 to any via ${LanOut} # Allow DNS ${fwcmd} add pass udp from any to any 53 via ${LanOut} ${fwcmd} add pass tcp from any to me 53 ${fwcmd} add pass udp from any 53 to any via ${LanOut} # Vip addresses access ${fwcmd} add pass tcp from ${MyIP1} to any 20,21,22,23,80,8080,443,4000 ${fwcmd} add pass tcp from any 20,21,22,23,80,443,4000 to ${MyIP1} ${fwcmd} add pass tcp from ${MyIP2} to any 20,21,22,23,80,443,4000 ${fwcmd} add pass tcp from any 20,21,22,23,80,443,4000 to ${MyIP2} #Allow https access to Exchange ${fwcmd} add pass tcp from any to 10.0.0.173 443 # Deny terminal, Squid - outside ${fwcmd} add deny tcp from any to any 20,22,23,3128 in via ${LanOut} # Deny - www, FTP, terminal,POP,SMTP - inside ${fwcmd} add deny tcp from any to any 20,21,22,23,25,110,80,443 in via ${LanIn} ${fwcmd} add deny tcp from any to any 8000-8104 in via ${LanIn} #Allow other throught Internal Interface ${fwcmd} add pass all from any to any via ${LanIn} # Allow WWW from outside #${fwcmd} add pass tcp from ${IPOut} 80 to any via ${LanOut} #${fwcmd} add pass tcp from any to ${IPOut} 80 via ${LanOut} # Allow FTP from outside ${fwcmd} add pass tcp from any to me 21 ${fwcmd} add pass tcp from me 20 to any # For Passive FTP servers ${fwcmd} add pass tcp from any to me 49000-50550 setup keep-state #ICMP ${fwcmd} add allow icmp from any to ${IPOut} in via ${LanOut} icmptype 0,3,4,8,11,12 ${fwcmd} add allow icmp from any to ${NetInIP}/${NetInMask} in via ${LanOut} icmptype 0,3,4,11,12 ${fwcmd} add allow icmp from ${IPOut} to any out via ${LanOut} icmptype 3,8,12 ${fwcmd} add allow icmp from ${IPOut} to any out via ${LanOut} frag ${fwcmd} add deny log all from any to any via ${LanOut} ${fwcmd} add deny log ip from any to any В данном скрипте к сожелению pipe не работает. |
|||
|
||||
| DENNN |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
Мне почему-то кажется что не тлько пайп. ;) Критиковать уже можно? И как определил, что все таки не работает? переписывай примерно так:
Может чего со скобками напутал - думаю сам синтаксис исправишь. и показывай вывод на идущем трафике
И вообще, такого беспорядочного нагромождения правил лучше избегать. P.S. для того, чтоб не общаться с инопланетянами не забываем приводить вывод команды
Это сообщение отредактировал(а) DENNN - 6.12.2005, 10:17 |
||||||||
|
|||||||||
| Stephon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 5.12.2005 Репутация: нет Всего: нет |
Определил как раз командой ipfw queue show. Показывает что поступило 4-6 пакетов на выход и все. После повторного использования команды видно что пакеты не поступают в pipe. А т.к. Инет у них пашет следовательно пакеты идут по другим правилам.
Добавлено @ 10:45 ${fwcmd} add queue 5 ip from not \( 10.0.0.25/24{25,58} \) to any ${fwcmd} add queue 6 ip from any to not \(10.0.0.25/24{25,58} \) Помоему донные правила направят в pipe всех остальных пользователей локалки а мне нужно вырезать канал только для четырех пользователей. |
|||
|
||||
| Stephon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 5.12.2005 Репутация: нет Всего: нет |
И еще один нюанс мне нужно открыть только 80 порт.
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
И на всякий случай
|
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Администрирование" | |
|
|
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Администрирование *NIX систем | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |