Инсталиране ISP-fw Firewall (Защитна стена) в Debian
28 октомври, 2008 – 8:37 pm
Нека да започнем:
Ще приемем, че имате инсталиран Linux на вашата машина. Аз използвам Debian на машината си така че тази документация ще бъде за Debian Linux, но не би трябва да се различава много от останалите дистрибуции.
- GNU/Linux дистрибуция;
- GCC 3.4.6 compiler;
- Iproute2 (най-новата версия е препоръчително (http://linux-net.osdl.org/index.php/Iproute2);
- Linux Kernel 2.4.32 или 2.6.16 (www.kernel.org);
- dialog (последната версия от http://invisible-island.net/dialog/);
- flex version 2.5.4a; (не по-висока)
- iptables v1.2.11 или по-нова версия;
- DHCP (последната версия от ftp://ftp.isc.org/isc/dhcp/);
- Apache и php (изисква се за webISP);
- ZendOptimizer 3.x (изисква се за webISP);
- mySQL 4.x (изисква се за webISP);
- MRTG (изисква се за webISP);
- IPFM (изисква се за webISP).
Linux Kernel 2.4.32 ( http://www.kernel.org )
#
# QoS and/or fair queuing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_CSZ=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_POLICE=y
Linux Kernel 2.6.16 ( http://www.kernel.org )
#
# QoS and/or fair queuing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set#
# Queuing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_INGRESS=m
#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_ESTIMATOR=y
Забележка
2 Теглене и инсталиране на isp-fw от http://isp-fw.sourceforge.net
и
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> create database ispfw;
Query OK, 1 row affected (0.00 sec)
mysql> quit
Bye
и
и
SQL user [root]: ispfw
SQL pass [changeme]: ****
SQL db [ispfw]: ispfw
Admin user for webpage [admin]: admin
Admin password for webpage [changeme]: ****
Installation successful.
Edit /var/www/webisp/include/config.php.
Change in php.ini session.auto_start to 1
Note that you need to install zendOptimizer http://www.zend.com/free_download/optimizer
Вече сме готови с инсталацията на ISP-FW. Сега да го конфигурираме.
3 Конфигуриране на ISP-FW
Редактирайте /etc/isp-fw/firewall.conf за вашите нужди (можете да използвате isped fireconfig от конзолата).
http://isp-fw.wiki.sourceforge.net/Config-Examples
#generated by setup, see docs/cfg/ network_name = Example domain = example.com default_editor = vi default_ipt_policy = ACCEPT net_interface = eth0 lan_interface = eth1 net_ip = 45.93.203.4 clone_mac = no gateway = 45.93.203.1 subnet = 255.255.255.0 fake_mac = 00:0D:A1:D9:D2:DA download = start upload = start bandwith = 2048 kbps burst = 0 qdisc = sfq bgp_file = none htb_mode = none ssh_all = no #I set ssh_all to no, if so you have to enter a list of ips in /etc/isp-fw/ssh.allow ssh_port = 22 use_squid = no squid_port = 3128 load_custom = no masquerade = yes update_hosts = yes optimize = yes opt_conntrack = auto mac_filter = no auto_redirect = no my_web = 1234 block_traceroute = no flood = no no_port_scan = no ping_protection = yes max_conn_per_port = use_dhcp = yes #DHCP section class = 10.10.10.0/255.255.255.0 router = 10.10.10.1 range = 10.10.10.1 10.10.10.254 broadcast = 10.10.10.255 dns = 10.10.10.1, 10.10.10.2 wins = 10.10.10.2
/etc/isp-fw/spam.conf - тук са blacklisted IP-та
/etc/isp-fw/badports.conf – тук са blacklisted портове
/etc/isp-fw/port.allow – тук са портове, които искате да разрешите (accept)
/etc/isp-fw/ssh.allow – тук са IP-та, които искате да разрешите за ssh връзка
4 Добавянето на клиенти на ISP-FW
Можете да добавяте файлове с помощта на командата isped clienti:
Сега, ако имате NAT в вашата мрежа, уверете се, че опцията masquerade = yes да е (yes), ето как изглежда файла:
#CAUTION dont leave blank fields! See docs/cfg/clienti.* for more info #MAC IP-LAN IP-NET MINE/MAXE/MINM/MAXM NAME 00:0E:2E:1F:E7:FA 10.10.10.2 0.0.0.0 16/128/1024/1024 Tom 00:0E:2E:1F:E1:AA 10.10.10.3 0.0.0.0 16/512/1024/1024 Britney #00:01:1A:1A:AA:AA 10.10.10.4 0.0.0.0 16/512/1024/1024 Alice #END
Ако имате собствен IP клас, уверете се че masquerade = no, да е (no)
За този пример ще приемем, че имаме класа 9.10.11.0/24 разпределени.
#CAUTION dont leave blank fields! See docs/cfg/clienti.* for more info
00:0E:2E:1F:E7:FA 0.0.0.0 9.10.11.2 16/32/128/1024 Tom
00:02:AA:11:B2:AC 0.0.0.0 9.10.11.3 16/32/256/2048 Britney
#00:01:AA:03:04:05 0.0.0.0 9.10.11.4 16/32/256/2048 Alice
#END
Съвети
„16/32/128/1024″ означава, че е за external bandwidth, 16 kbps е минималната гарантирана скорост и 32 kbps е максималното. А за МАН (metropolitan network area) 128 kbps е минимум, а 1024 kbps е максимум скорост.
- Знака „#“ – означава, че клиентът е изключен и поради това няма интернет достъп.
- Знака „#>“ – знак означава, че клиентът е пренасочен към вашата уеб страница.
Сега, за да стартирате програмата, просто въведете
5 Връзки
- Основен: htb