#!/bin/sh
ipfw -q -f flush# Установим префикс команды для набора правил
cmd="ipfw -q add"
pif="tun0" # имя сетевой карты, которая смотрит в Интернет
dns="xxx.xxx.xxx.xxx"
dnsa="xxx.xxx.xxx.xxx"
ks="keep-state"
buh="xxx.xxx.xxx.xxx"
$cmd 005 allow all from any to any via vr0
$cmd 010 allow all from any to any via lo0
$cmd 011 check-state
# Разрешаем исходящие FBSD (make install & CVSUP) функции
# Проще говоря даем пользователю root "GOD" привилегии.
$cmd 070 allow tcp from me to any out via $pif setup keep-state uid root
# Разрешаем исходящий whois
$cmd 075 allow tcp from any to any 43 out via $pif setup keep-state
# Разрешаем исходящий пинг
$cmd 080 allow icmp from any to any out via $pif keep-state
# Разрешаем исходящий ДНС
$cmd 100 allow udp from any to $dns 53 out via $pif $ks
$cmd 110 allow udp from any to $dnsa 53 out via $pif $ks
######### Remote DeskTop ##########
$cmd 115 allow tcp from any to me 1723 in via $pif $ks
$cmd 116 allow gre from any to any
$cmd 117 allow ip from any to any via $pif
######## End RDP #################
# Разрешаем http, https, icq
$cmd 120 allow tcp from any to any 80 out via $pif $ks
$cmd 125 allow tcp from any to any 443 out via $pif $ks
$cmd 126 allow tcp from any to any 5190 out via $pif $ks
# Torrents
#$cmd 127 allow tcp from any 5190 to 192.168.1.4 in via $pif $ks
#$cmd 128 allow tcp from any 80 to 192.168.1.4 in via $pif $ks
# Разрешаем прием и отправку почты
$cmd 130 allow tcp from any to 195.248.191.95 110 out via $pif $ks
$cmd 135 allow tcp from any to 195.248.191.95 25 out via $pif $ks
$cmd 136 allow tcp from any to 194.67.23.102 110 out via $pif $ks
$cmd 137 allow tcp from any to 194.67.23.111 25 out via $pif $ks
$cmd 138 allow tcp from any to 194.67.23.159 110 out via $pif $ks
$cmd 139 allow tcp from any to smtp.list.ru 25 out via $pif $ks
# email.com.ua - 195.248.191.95
# pop.mail.ru - 194.67.23.102
# smtp.mail.ru - 194.67.23.111
# pop.list.ru - 194.67.23.159
# smtp.list.ru - 194.67.23.115
# Разрешаем исходящий Time
$cmd 200 allow tcp from any to any 37 out via $pif setup keep-state
# SSH мне
$cmd 250 allow tcp from any to me 22 in via $pif $ks
#$cmd 255 allow tcp from any to $tun0 22 in $pif $ks
#$cmd 260 allow all from any to $tun0 1984 out $pif $ks
#$cmd 265 allow all from any to $tun0 22 out $pif $ks
# Клиент банки
$cmd 270 allow tcp from $buh to cb1.ukrsibbank.com 2020 out via $pif $ks
$cmd 271 allow tcp from $buh to 62.64.80.129 4081 out via $pif $ks
$cmd 272 allow tcp from $buh to 193.41.49.69 2020 out via $pif $ks
$cmd 273 allow tcp from $buh to 195.248.175.210 60179 out via $pif $ks # Index bank
# Best Звит
$cmd 290 allow tcp from $buh to 194.67.23.111 25 out via $pif $ks
# Удаленный рабочий стол для Windows
$cmd 295 allow tcp from any to xxx.xxx.xxx.xxx 3389 out via $pif $ks # Для
# Запрещаем весь входящий траффик из зарезервированных адресных пространств
$cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP
$cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP
$cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP
$cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback
$cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback
$cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config
$cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs
$cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect
$cmd 00308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast
проблема в том что я поставил PoPToP и тогда весь трафик ходит через правило 117, а если я его закомментирую, тогда неработает. Подскажите пожалуйста как это реализовать?
Я новичек. Наверняка есть и еще бока.
Спасибо.
cat /etc/rc.conf
check_quotas="NO"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
keymap="ru.koi8-r"
kayrate="fast"
scrnmap="koi8-r2cp866"
server="daemon"
hostname="Server"
defaultrouter="xxx.xxx.xxx.xxx"
ifconfig_vr0="inet 192.168.1.1/24"
ifconfig_vr1="inet 192.168.0.101/24" #inet
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/firewall.config"
#firewall_script="/etc/rc.firewall"
natd_enable="YES"
natd_interface="vr1"
sshd_enable="YES"
named_enable="YES"
ntpdate_enable="YES"
ntpdate_flags="-b europe.pool.ntp.org europe.pool.ntp.org europe.pool.ntp.org"
ntpd_enable="YES"
ntpd_flags="-c /etc/ntp.conf -l /var/log/ntpd.log -p /var/run/ntpd.pid"
sendmail_enable="NONE"
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO
ppp_profile="optima"
#демон Syslogd не слушал других компьютеров и вел логи только вашей машины.
syslogd_enable="YES"
syslogd_program="/usr/sbin/syslogd"
syslogd_flags="-ss"
samba_enable="YES"
tcp_extension="NO" #Отрубаем опасные расширения для TCP/IP
tcp_keepalive="YES" #Ставь эту опцию, твой роутер будит менее подвержен DOS атакам.
tcp_drop_synfin="YES" #Не принимаем левые пакеты
tcp_restrcit_rst="YES" #Не помню что обозначает но включить рекомендую :)
#icmp_drop_redirect="YES" #Не работаем с ICMP пакетами
pptpd_enable="YES"