Портал информационной и технической поддержки ПО образовательных учреждений РФ

SPO HELP
  • Новости
  • Продукты
  • Поддержка
  • Учебный центр
  • Документация
  • Сообщество
  • Форумы
       
  • Вход
  • Регистрация

Форумы → Готовые решения → Сеть в школе без LDAP. C Конфигами. Тема с продолжениями.
Последние записи

Сеть в школе без LDAP. C Конфигами. Тема с продолжениями.

Подписаться на Сеть в школе без LDAP. C Конфигами. Тема с продолжениями. Сообщений: 1, участников: 1

  • Участвуют:
  • Александр Демин
Ответить


14 июля 2010, 09:43
Icon_missing_medium Александр Демин Записей: 186

Для начала описываю что есть.

Сервер под Linux. 6 компьютеров администрации, из них 3 - бухгалтерия. 34 компьютера разбросаны по школе, из них 16 - полноценный учебный класс.

Операционные системы - Alt Linux, Windows Vista, Windows XP, Windows 7, Fedora 12. На сервере на данный момент - Fedora 8.

Сеть - витая пара + wifi. Подключение к Интернет - ADSL SpeedTouch. Канал не скоростной - скорость подключения 256 kbit/sec, закачка - 25-30 kbit\sec

количество учащихся - около 900

Задача - разграничить использование сети на нужды администрации и учебный процесс.

Отмечу сразу - поднимать контроллер домена не захотел изначально. Слишком муторно и долго. Разнообразие ОС обязательно вызовет прогблемы в работе - а это то же время, которое можно с пользой потратить на что-то иное. Решено - использовать возможности DHCP, Squid и iptables. Возможно, в дальнейшем понадобиться что-то еще...

Сначала - физика... На сервере два физических интерфейса. Один подключен к ADSL модему, имеет статический ip - 10.0.0.1 маска 255.255.255.0. Второй интерфейс смотрит вовнутрь - подключен у неуправляемому коммутатору. К этому же коммутатору коммутатору подключен D-Link DIR-300 для обеспечения работы wifi. к коммутатору так же подключены бухгалтерия и класс информатики.

Логика. Сервер будет обслуживать две локальных сети: 1- администрация (192.168.1.0) и вторая - для учебного процесса (192.168.2.0). В сети две рабочих группы Windows - MSHOME (бухгалтерия) и Workgroup (остальные). Возможно придется создать отдельную группу для класса информатики.

Приступим...

Сначала сетевые интерфейсы на сервере.

eth0 - сетевой интерфейс, смотрящий вовнутрь. ip - 192.168.1.1

eth1 - сетевой интерфейс, смотрящий наружу ip 10.0.0.1

lo - 127.0.0.1

Сервер у нас будет работать с двумя сетями на одной физической сетевой карте. Меняем маску подсети на интерфейсе eth0 (на Fedora скрипты поднятия сетевых интерфейсов находятся в каталоге /etc/sysconfig/network-scripts и имеют вид ifcg-*, где *-это имя интерфейса. Под рутом копируем файл ifcfg-eth0 в файл ifcfg-eth0:1. Редактируем оба файла. В файле ifcfg-eth0 меняем параметр NETMASK на 255.255.0.0. Файл ifcfg-eth0:1 приводим к такому состоянию:

 

# VIA Technologies, Inc. VT6102 [Rhine-II]
DEVICE=eth0:1
BOOTPROTO=static
BROADCAST=192.168.2.255
HWADDR=00:0D:87:D7:92:9B
IPADDR=192.168.2.1
NETMASK=255.255.0.0
NETWORK=192.168.2.0
ONBOOT=yes

 В некоторых системах для добавления алиаса и изменения маски для eth0 нужно отредактировать файл /etc/network/interfaces/

После перезагрузки смотрим ifconfig:

Создано: 14.07.2010

 Правим файл dhcpd.conf. У меня он лежит в /etc, можно его поискать в каталоге /etc/dhcp. Приводим его к следующему виду:

 

ddns-update-style none;
ignore client-updates;
shared-network school {
        subnet 192.168.1.0 netmask 255.255.255.0 {
               authoritative;
             option routers              192.168.1.1;
             option subnet-mask          255.255.255.0;
             option domain-name-servers  192.168.1.1;
             option time-offset          -18000;     # Eastern Standard Time
             default-lease-time 21600;
             max-lease-time 43200;
        host Director {
               hardware ethernet 00:16:44:A8:AE:E4;
               fixed-address 192.168.1.254;
        }
        host Glavbuh {
               hardware ethernet 00:14:85:05:5E:F7;
               fixed-address 192.168.1.102;
        }
        host buh1 {
               hardware ethernet 00:1F:D0:30:81:50;
               fixed-address 192.168.1.243;
        }
        host Secr {
               hardware ethernet 00:19:66:EF:08:A7;
               fixed-address 192.168.1.253;
        }
        host buh2 {
               hardware ethernet 6C:F0:49:54:3D:3B;
               fixed-address 192.168.1.248;
        }
        }

        subnet 192.168.2.0 netmask 255.255.255.0 {
               authoritative;
               option routers                  192.168.2.1;
               option subnet-mask              255.255.255.0;
               option domain-name-servers      192.168.2.1;
               option time-offset              -18000;
               range dynamic-bootp 192.168.2.10 192.168.2.254;
               default-lease-time 21600;
               
max-lease-time 43200;
        }
 }

Так как у меня всего несколько компов, которые принадлежать к группе admins, ip у них буду постоянные. Остальные будут получать ip адреса в сети 192.168.2.0. Дополнительно можно прописать и ноуты, если они есть.

Дальше праивм то, что относится к DNS.

/etc/named.conf (на Alt Linux местоположение будет отличаться!)

 

options {
      listen-on port 53 { 127.0.0.1; 192.168.1.1; 192.168.2.1; };
      directory   "/var/named";
      dump-file   "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
      allow-query     { any; };
      forwarders { 10.0.0.138; };
      forward first;
      recursion yes;
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
      type hint;
      file "named.ca";
};

include "/etc/named.rfc1912.zones";

 Правлю /etc/named.rfc1912.zones:

 

// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-...
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

zone "localhost.localdomain" IN {
      type master;
      file "named.localhost";
      allow-update { none; };
};

zone "localhost" IN {
      type master;
      file "named.localhost";
      allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
      type master;
      file "named.loopback";
      allow-update { none; };
};

zone "school.local" IN {
        type master;
        file "school.local";
};

zone "1.168.192.in-addr.arpa" {
        type master;
        file "rev_school.local";
};

zone "2.168.192.in-addr.arpa" {
        type master;
        file "rev1_school.local";
};

 Мои файлы.

named.localhost

 

$TTL 3600
@     IN SOA      @ rname.invalid. (
                             0     ; serial
                             28800 ; refresh
                             7200  ; retry
                             604800      ; expire
                             86400 )     ; minimum
     
IN NS @
      IN A  127.0.0.1

 

 named.loopback

 

$TTL 3600
@     IN SOA      @ rname.invalid. (
                             0     ; serial
                             28800 ; refresh
                             7200  ; retry
                             604800      ; expire
                             86400 )     ; minimum
     
NS    @
      PTR   localhost.

 school.local

 

$TTL 3600
@ IN SOA server.school.local. root.mail.school.local. (
                                 2010070911
                                 3600 ;
                                 900  ;
                                 360000 ;
                                 3600 );
     IN NS server.school.local.
     IN A 192.168.1.1
     IN A 192.168.2.1
school.local. IN  A 192.168.1.1
school.local. IN  A 192.168.2.1
server        IN  A 192.168.1.1
server        IN  A 192.168.2.1
www           IN  A 192.168.1.1
www           IN  A 192.168.2.1

 

 rev_school.local

 

$TTL 3600
1.168.192.in-addr.arpa. IN SOA server.school.local. root.mail.school.local.(
                                                    2010070911 ;
                                                    3600 ;
                                                    900 ;
                                                    36000 ;
                                                    3600 ) ;
                IN NS server.school.local.
1 IN PTR school.local.
1 IN PTR server

 rev1_school.local

 

$TTL 3600
2.168.192.in-addr.arpa. IN SOA server.school.local. root.mail.school.local.(
                                                    2010070911 ;
                                                    3600 ;
                                                    900 ;
                                                    36000 ;
                                                    3600 ) ;
                IN NS server.school.local.
1 IN PTR school.local.
1 IN PTR server

 Настраиваю Samba в smb.conf:

[global]
      workgroup = WORKGROUP
      server string = Samba Server
      netbios name = Server  
      interfaces = lo 192.168.1.1 129.168.2.1
      hosts allow = 127. 192.168.1. 192.168.2.
      log file = /var/log/samba/log.%m
      max log size = 500
      security = share
      passdb backend = tdbsam
      local master = yes
      os level = 64
      preferred master = yes
      wins support = yes
      wins proxy = no
      dns proxy = no
      load printers = no
      cups options = raw
;     printcap name = /etc/printcap
;     printcap name = lpstat
;     printing = cups
      map archive = no
      map hidden = no
      map read only = no
      map system = no
      store dos attributes = yes
        browseable = yes
        read raw = yes
        write raw = yes
        socket options = TCP_NODELAY IPTOS_LOWDELAY
        socket options = SO_KEEPALIVE
[Public]
      comment =
Общий
      path = /home/samba
      public = yes
      guest ok = yes
      browseable = yes
      writable = yes
        read only = no
[Teacher]
        comment =
Под паролем
        path = /home/teacher
        writable = no
        write list = teacher
        browseable = yes
        read only = yes
       
guest ok = no

 И начальная настройка squid в squid.conf

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80       # http
acl Safe_ports port 21       # ftp
acl Safe_ports port 443      # https
acl Safe_ports port 70       # gopher
acl Safe_ports port 210      # wais
acl Safe_ports port 1025-65535     # unregistered ports
acl Safe_ports port 280      # http-mgmt
acl Safe_ports port 488      # gss-http
acl Safe_ports port 591      # filemaker
acl Safe_ports port 777      # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl admins src 192.168.1.0/24
acl students src 192.168.2.0/24
http_access allow admins
http_access allow students
http_access allow localhost
http_access deny all
icp_access allow all
http_port 3128 transparent
cache_mem 64 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp:        1440  20%   10080
refresh_pattern ^gopher:     1440  0%    1440
refresh_pattern .       0     20%   4320

 Обратите внимание, в squid я прописал два acl - для сети 192.168.1.0 и 192.168.2.0... Пока у меня все ходят куда захотят.. но это ПОКА....

 

 

 

 

 

Войдите чтобы ответить на тему

Форумы → Готовые решения → Сеть в школе без LDAP. C Конфигами. Тема с продолжениями.
  • Главная
  • О проекте
  • Справка
  • Теги
  • Карта сайта

©2015 Все права защищены. Портал информационной и технической поддержки ПО образовательных учреждений РФ.
Cо всеми проблемами и пожеланиями по работе портала и службы технической поддержки вы можете обратиться по адресу .