Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: DenisNikolaich от 05 Июля 2018, 11:54:23



Название: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 11:54:23
Доброго времени суток. Есть вопрос по настройке сервера доступа. На данный момент у нас в сети работает вариант "все в одном" есть, как-бы, задача облегчить нагрузку на сервер путем подстановки дополнительного NAS. Вроде все настроил по мануалу т.е. с базой конектится но есть момент, в сети авторизация DHCP mac+uid. И здесь я застрял, так как катастрофически не хватает знаний, сталкиваюсь с этим первый раз. У меня вопрос: надо (можно) ли ставить DHCP сервер на NAS или нет, и если надо (можно), то надо ли ставить DHCP модуль на NAS или будет управляться тем, что на основном сервере.
P.S. Всем, кто захочет ответить "Наймите себе админа", я искренне благодарен, что потратили на прочтение данного поста время, но отвечу: а меня куда? На улицу? Итак с работой напряг! С того времени, как купили NoDeny + (2 года) я обратился на форум всего 3 раза, т.е. имею ввиду, что никого не отвлекал, а старался разобраться сам. Сейчас зашел в тупик. Поэтому прошу помощи. Заранее спасибо!


Название: Re: Распределенная система
Отправлено: Cell от 05 Июля 2018, 13:52:53
Не переживайте ))) поможем чем сможем!
Итак. Все зависит от того как вы сеть свою настроили-разбили на разные части.
Расскажу как бы сделал я.
DHCPd  сервис не требовательный к ресурсам, по этому я бы оставил его на основном севрере и все адреса выдавал бы с него. Если вы разбили сеть на разные вланы и обслуживаете их разными саттелитами - то вам просто нужно сделать на основном сервере интерфейс во вланы, обслуживаемые другим саттелитом и настроить дхцп сервер таким образом чтобы он выдавал нужные ип адреса в нужные подсети. Если физическое пространство одно т.е. сеть разбита на части при помощи подсетей, работающих в одном эзернет сегменте - то процедура упрощается т.к. не нужно создавать дополнительных интерфейсов на сервере а просто добавить алиасом новый ип на существующий интерфейс и подправить конфиг дхцп.


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 14:23:49
Огромное спасибо, что не отказали в помощи. В общем структура сети у меня такая: VLAN на дом, я наверное конфиги скину лучше))) так будет понятнее.
Код:
rc.conf
hostname="nodeny"
cloned_interfaces="lagg0 lagg1 vlan2001 vlan2002 vlan2003 vlan2004 vlan2005 vlan2006 vlan2007 vlan2008 vlan2009 vlan2010 vlan2011 vlan2012 vlan2013 vlan2014 vlan2015 vlan2016 vlan2017 vlan2018 vlan2019 vlan2020 vlan2021 vlan2022 vlan2023 vlan2024 vlan2025 vlan2026 vlan2027 vlan2028 vlan2029 vlan2030 vlan2031 vlan2032 vlan2033 vlan2034 vlan2035 vlan2036 vlan2037 vlan2038 vlan2039 vlan2040 vlan2041 vlan2042 vlan2043 vlan2044 vlan2045 vlan2046 vlan2047 vlan2048 vlan3001 vlan3002 vlan3003 vlan3004 vlan3005 vlan3006 vlan3007 vlan3008 vlan3009 vlan3010 vlan3011 vlan3012 vlan3013 vlan3014 vlan3015 vlan3016 vlan3017 vlan3018 vlan3019 vlan3020 vlan3021 vlan3022 vlan3023 vlan3024 vlan3025 vlan3026 vlan3027 vlan3028 vlan3029 vlan3030 vlan3031 vlan3032 vlan3033 vlan3034 vlan3035 vlan3036 vlan3037 vlan3038 vlan3039 vlan3040 vlan3041 vlan3042 vlan3043 vlan3044 vlan3045 vlan3046 vlan3047 vlan3048"
ifconfig_lo0_alias0="inet 1.1.1.1 netmask 255.255.255.255"
ifconfig_igb0="-rxcsum -txcsum -lro -tso up"
ifconfig_igb1="-rxcsum -txcsum -lro -tso up"
ifconfig_igb2="-rxcsum -txcsum -lro -tso up"
ifconfig_igb3="-rxcsum -txcsum -lro -tso up"
ifconfig_lagg1="laggproto lacp laggport igb0 laggport igb1 91.XXX.XXX.XXX netmask 255.255.255.240"
ifconfig_lagg1_alias0="inet 91.XXX.XXX.XXX netmask 255.255.255.255"
ifconfig_lagg1_alias1="inet 91.XXX.XXX.XXX netmask 255.255.255.255"
ifconfig_lagg1_alias2="inet 91.XXX.XXX.XXX netmask 255.255.255.255"
ifconfig_lagg1_alias3="inet 91.XXX.XXX.XXX netmask 255.255.255.255"
ifconfig_lagg1_alias4="inet 91.XXX.XXX.XXX netmask 255.255.255.255"
ifconfig_lagg0="laggproto lacp laggport igb2 laggport igb3 10.0.0.1 netmask 255.255.255.252"
ifconfig_vlan2001="vlan 2001 vlandev lagg0 172.18.7.1 netmask 255.255.255.0"
ifconfig_vlan2002="vlan 2002 vlandev lagg0 172.18.8.1 netmask 255.255.255.0"
ifconfig_vlan2003="vlan 2003 vlandev lagg0 172.18.9.1 netmask 255.255.255.0"
ifconfig_vlan2004="vlan 2004 vlandev lagg0 172.18.10.1 netmask 255.255.255.0"
ifconfig_vlan2005="vlan 2005 vlandev lagg0 172.18.11.1 netmask 255.255.255.0"
ifconfig_vlan2006="vlan 2006 vlandev lagg0 172.18.12.1 netmask 255.255.255.0"
ifconfig_vlan2007="vlan 2007 vlandev lagg0 172.18.13.1 netmask 255.255.255.0"
ifconfig_vlan2008="vlan 2008 vlandev lagg0 172.18.14.1 netmask 255.255.255.0"
ifconfig_vlan2009="vlan 2009 vlandev lagg0 172.18.15.1 netmask 255.255.255.0"
ifconfig_vlan2010="vlan 2010 vlandev lagg0 172.18.16.1 netmask 255.255.255.0"
ifconfig_vlan2011="vlan 2011 vlandev lagg0 172.18.17.1 netmask 255.255.255.0"
ifconfig_vlan2012="vlan 2012 vlandev lagg0 172.18.18.1 netmask 255.255.255.0"
ifconfig_vlan2013="vlan 2013 vlandev lagg0 172.18.19.1 netmask 255.255.255.0"
ifconfig_vlan2014="vlan 2014 vlandev lagg0 172.18.20.1 netmask 255.255.255.0"
ifconfig_vlan2015="vlan 2015 vlandev lagg0 172.18.21.1 netmask 255.255.255.0"
ifconfig_vlan2016="vlan 2016 vlandev lagg0 172.18.22.1 netmask 255.255.255.0"
ifconfig_vlan2017="vlan 2017 vlandev lagg0 172.18.23.1 netmask 255.255.255.0"
ifconfig_vlan2018="vlan 2018 vlandev lagg0 172.18.24.1 netmask 255.255.255.0"
ifconfig_vlan2019="vlan 2019 vlandev lagg0 172.18.25.1 netmask 255.255.255.0"
ifconfig_vlan2020="vlan 2020 vlandev lagg0 172.18.26.1 netmask 255.255.255.0"
ifconfig_vlan2021="vlan 2021 vlandev lagg0 172.18.27.1 netmask 255.255.255.0"
ifconfig_vlan2022="vlan 2022 vlandev lagg0 172.18.28.1 netmask 255.255.255.0"
ifconfig_vlan2023="vlan 2023 vlandev lagg0 172.18.29.1 netmask 255.255.255.0"
ifconfig_vlan2024="vlan 2024 vlandev lagg0 172.18.30.1 netmask 255.255.255.0"
ifconfig_vlan2025="vlan 2025 vlandev lagg0 172.18.31.1 netmask 255.255.255.0"
ifconfig_vlan2026="vlan 2026 vlandev lagg0 172.18.32.1 netmask 255.255.255.0"
ifconfig_vlan2027="vlan 2027 vlandev lagg0 172.18.33.1 netmask 255.255.255.0"
ifconfig_vlan2028="vlan 2028 vlandev lagg0 172.18.34.1 netmask 255.255.255.0"
ifconfig_vlan2029="vlan 2029 vlandev lagg0 172.18.35.1 netmask 255.255.255.0"
ifconfig_vlan2030="vlan 2030 vlandev lagg0 172.18.36.1 netmask 255.255.255.0"
ifconfig_vlan2031="vlan 2031 vlandev lagg0 172.18.37.1 netmask 255.255.255.0"
ifconfig_vlan2032="vlan 2032 vlandev lagg0 172.18.38.1 netmask 255.255.255.0"
ifconfig_vlan2033="vlan 2033 vlandev lagg0 172.18.39.1 netmask 255.255.255.0"
ifconfig_vlan2034="vlan 2034 vlandev lagg0 172.18.40.1 netmask 255.255.255.0"
ifconfig_vlan2035="vlan 2035 vlandev lagg0 172.18.41.1 netmask 255.255.255.0"
ifconfig_vlan2036="vlan 2036 vlandev lagg0 172.18.42.1 netmask 255.255.255.0"
ifconfig_vlan2037="vlan 2037 vlandev lagg0 172.18.43.1 netmask 255.255.255.0"
ifconfig_vlan2038="vlan 2038 vlandev lagg0 172.18.44.1 netmask 255.255.255.0"
ifconfig_vlan2039="vlan 2039 vlandev lagg0 172.18.45.1 netmask 255.255.255.0"
ifconfig_vlan2040="vlan 2040 vlandev lagg0 172.18.46.1 netmask 255.255.255.0"
ifconfig_vlan2041="vlan 2041 vlandev lagg0 172.18.47.1 netmask 255.255.255.0"
ifconfig_vlan2042="vlan 2042 vlandev lagg0 172.18.48.1 netmask 255.255.255.0"
ifconfig_vlan2043="vlan 2043 vlandev lagg0 172.18.49.1 netmask 255.255.255.0"
ifconfig_vlan2044="vlan 2044 vlandev lagg0 172.18.50.1 netmask 255.255.255.0"
ifconfig_vlan2045="vlan 2045 vlandev lagg0 172.18.51.1 netmask 255.255.255.0"
ifconfig_vlan2046="vlan 2046 vlandev lagg0 172.18.52.1 netmask 255.255.255.0"
ifconfig_vlan2047="vlan 2047 vlandev lagg0 172.18.53.1 netmask 255.255.255.0"
ifconfig_vlan2048="vlan 2048 vlandev lagg0 172.18.54.1 netmask 255.255.255.0"
ifconfig_vlan3001="vlan 3001 vlandev lagg0 172.18.55.1 netmask 255.255.255.0"
ifconfig_vlan3002="vlan 3002 vlandev lagg0 172.18.56.1 netmask 255.255.255.0"
ifconfig_vlan3003="vlan 3003 vlandev lagg0 172.18.57.1 netmask 255.255.255.0"
ifconfig_vlan3004="vlan 3004 vlandev lagg0 172.18.58.1 netmask 255.255.255.0"
ifconfig_vlan3005="vlan 3005 vlandev lagg0 172.18.59.1 netmask 255.255.255.0"
ifconfig_vlan3006="vlan 3006 vlandev lagg0 172.18.60.1 netmask 255.255.255.0"
ifconfig_vlan3007="vlan 3007 vlandev lagg0 172.18.61.1 netmask 255.255.255.0"
ifconfig_vlan3008="vlan 3008 vlandev lagg0 172.18.62.1 netmask 255.255.255.0"
ifconfig_vlan3009="vlan 3009 vlandev lagg0 172.18.63.1 netmask 255.255.255.0"
ifconfig_vlan3010="vlan 3010 vlandev lagg0 172.18.64.1 netmask 255.255.255.0"
ifconfig_vlan3011="vlan 3011 vlandev lagg0 172.18.65.1 netmask 255.255.255.0"
ifconfig_vlan3012="vlan 3012 vlandev lagg0 172.18.66.1 netmask 255.255.255.0"
ifconfig_vlan3013="vlan 3013 vlandev lagg0 172.18.67.1 netmask 255.255.255.0"
ifconfig_vlan3014="vlan 3014 vlandev lagg0 172.18.68.1 netmask 255.255.255.0"
ifconfig_vlan3015="vlan 3015 vlandev lagg0 172.18.69.1 netmask 255.255.255.0"
ifconfig_vlan3016="vlan 3016 vlandev lagg0 172.18.70.1 netmask 255.255.255.0"
ifconfig_vlan3017="vlan 3017 vlandev lagg0 172.18.71.1 netmask 255.255.255.0"
ifconfig_vlan3018="vlan 3018 vlandev lagg0 172.18.72.1 netmask 255.255.255.0"
ifconfig_vlan3019="vlan 3019 vlandev lagg0 172.18.73.1 netmask 255.255.255.0"
ifconfig_vlan3020="vlan 3020 vlandev lagg0 172.18.74.1 netmask 255.255.255.0"
ifconfig_vlan3021="vlan 3021 vlandev lagg0 172.18.75.1 netmask 255.255.255.0"
ifconfig_vlan3022="vlan 3022 vlandev lagg0 172.18.76.1 netmask 255.255.255.0"
ifconfig_vlan3023="vlan 3023 vlandev lagg0 172.18.77.1 netmask 255.255.255.0"
ifconfig_vlan3024="vlan 3024 vlandev lagg0 172.18.78.1 netmask 255.255.255.0"
ifconfig_vlan3025="vlan 3025 vlandev lagg0 172.18.79.1 netmask 255.255.255.0"
ifconfig_vlan3026="vlan 3026 vlandev lagg0 172.18.80.1 netmask 255.255.255.0"
ifconfig_vlan3027="vlan 3027 vlandev lagg0 172.18.81.1 netmask 255.255.255.0"
ifconfig_vlan3028="vlan 3028 vlandev lagg0 172.18.82.1 netmask 255.255.255.0"
ifconfig_vlan3029="vlan 3029 vlandev lagg0 172.18.83.1 netmask 255.255.255.0"
ifconfig_vlan3030="vlan 3030 vlandev lagg0 172.18.84.1 netmask 255.255.255.0"
ifconfig_vlan3031="vlan 3031 vlandev lagg0 172.18.85.1 netmask 255.255.255.0"
ifconfig_vlan3032="vlan 3032 vlandev lagg0 172.18.86.1 netmask 255.255.255.0"
ifconfig_vlan3033="vlan 3033 vlandev lagg0 172.18.87.1 netmask 255.255.255.0"
ifconfig_vlan3034="vlan 3034 vlandev lagg0 172.18.88.1 netmask 255.255.255.0"
ifconfig_vlan3035="vlan 3035 vlandev lagg0 172.18.89.1 netmask 255.255.255.0"
ifconfig_vlan3036="vlan 3036 vlandev lagg0 172.18.90.1 netmask 255.255.255.0"
ifconfig_vlan3037="vlan 3037 vlandev lagg0 172.18.91.1 netmask 255.255.255.0"
ifconfig_vlan3038="vlan 3038 vlandev lagg0 172.18.92.1 netmask 255.255.255.0"
ifconfig_vlan3039="vlan 3039 vlandev lagg0 172.18.93.1 netmask 255.255.255.0"
ifconfig_vlan3040="vlan 3040 vlandev lagg0 172.18.94.1 netmask 255.255.255.0"
ifconfig_vlan3041="vlan 3041 vlandev lagg0 172.18.95.1 netmask 255.255.255.0"
ifconfig_vlan3042="vlan 3042 vlandev lagg0 172.18.96.1 netmask 255.255.255.0"
ifconfig_vlan3043="vlan 3043 vlandev lagg0 172.18.97.1 netmask 255.255.255.0"
ifconfig_vlan3044="vlan 3044 vlandev lagg0 172.18.98.1 netmask 255.255.255.0"
ifconfig_vlan3045="vlan 3045 vlandev lagg0 172.18.99.1 netmask 255.255.255.0"
ifconfig_vlan3046="vlan 3046 vlandev lagg0 172.18.100.1 netmask 255.255.255.0"
ifconfig_vlan3047="vlan 3047 vlandev lagg0 172.18.101.1 netmask 255.255.255.0"
ifconfig_vlan3048="vlan 3048 vlandev lagg0 172.18.102.1 netmask 255.255.255.0"
defaultrouter="91.XXX.XXX.XXX"
sshd_enable="YES"
sshd_flags="-u0"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
firewall_enable="YES"
atop_enable="YES"
fsck_y_enable="YES"
background_fsck="NO"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
gateway_enable="YES"
local_unbound_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
mysql_enable="YES"
apache24_enable="YES"
ipcad_enable="YES"
dhcpd_enable="YES"
dhcpd_flags="-q"
dhcpd_withuser=root

snmpd_enable="YES"

inetd_enable="NO"
portmap_enable="NO"
nfs_client_enable="NO"
nfs_reserved_port_only="NO"
nfs_server_enable="NO"

# Небольшая защита от DDOSа
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="NO"

static_routes="vlan"
route_vlan="-net 172.16.0.0/16 10.0.0.2"
Код:
pf.conf
set limit states 16000000
set optimization aggressive
set limit frags 1000000
set limit src-nodes 200000
set limit table-entries 1000000

ext_if = "lagg1"
ext_gw = "91.XXX.XXX.XXX"

set skip on lo0

scrub in all

nat pass on $ext_if from 172.18.0.0/20 to any -> 91.XXX.XXX.XXX
nat pass on $ext_if from 172.18.16.0/20 to any -> 91.XXX.XXX.XXX
nat pass on $ext_if from 172.18.32.0/20 to any -> 91.XXX.XXX.XXX
nat pass on $ext_if from 172.18.48.0/20 to any -> 91.XXX.XXX.XXX
nat pass on $ext_if from 172.18.64.0/20 to any -> 91.XXX.XXX.XXX
nat pass on $ext_if from 172.18.80.0/20 to any -> 91.XXX.XXX.XXX
nat pass on $ext_if from 172.18.96.0/20 to any -> 91.XXX.XXX.XXX
nat pass on $ext_if from 172.16.0.0/16 to any -> 91.XXX.XXX.XXX

pass in quick on lo0 proto tcp from any to any port 80 keep state (source-track rule, max-src-states 2, max-src-nodes 100)


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 14:27:06
Код:
dhcpd.conf
log-facility local7;
allow unknown-clients;
default-lease-time 2400;
max-lease-time 1800;
authoritative;
#vlan3015

subnet 172.18.69.0 netmask 255.255.255.0 {
    range 172.18.69.2 172.18.69.254;
    interface vlan3015;
    option routers 172.18.69.1;
option domain-name-servers 1.1.1.1;
}
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id, 6));
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }


#vlan3038

subnet 172.18.92.0 netmask 255.255.255.0 {
    range 172.18.92.2 172.18.92.254;
    interface vlan3038;
    option routers 172.18.92.1;
option domain-name-servers 1.1.1.1;
}
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id, 6));
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }

#vlan3039

subnet 172.18.93.0 netmask 255.255.255.0 {
    range 172.18.93.2 172.18.93.254;
    interface vlan3039;
    option routers 172.18.93.1;
option domain-name-servers 1.1.1.1;
}
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id, 6));
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }

#vlan3040

subnet 172.18.94.0 netmask 255.255.255.0 {
    range 172.18.94.2 172.18.94.254;
    interface vlan3040;
    option routers 172.18.94.1;
option domain-name-servers 1.1.1.1;
}
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id, 6));
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }


Вот так оно у меня все настроено. Необходимо сделать так: виланы с 3001-3048 остаются на основном, а 2001-2048 обслуживаются сателитом. Реально ли это? В Dhcp конфиги описан каждый вилан.


Название: Re: Распределенная система
Отправлено: Cell от 05 Июля 2018, 15:05:35
Вам почти ничего не нужно делать... ну "почти".
Раз вы переносите шлюзы группы вланов на другой таз - то вам нужно на место этих ипов поставить другие из этой же сети  и не убирать эти интерфейсы с основного (того который был первым) сервера.
Что получается - что ip адреса будет выдавать один сервер, а шлюзом являться другой. ВСЕ! нам больше ничего не нужно. Но нужно не забывать о ДНС, т.е. подправить конфиг таким образом чтобы адрес днс сервера был актуален для той сети, куда ип выдается.


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 15:11:09
Например строка: ifconfig_vlan2001="vlan 2001 vlandev lagg0 172.18.7.1 netmask 255.255.255.0" - это 1-й сервер, а на втором ifconfig_vlan2001="vlan 2001 vlandev lagg0 172.18.7.2 netmask 255.255.255.0" тгда dhcp сервер будет выдавать ip c 172.18.7.3 Правильно я понимаю? Блин, простите если туплю, реально голова не варит!!! (((


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 15:14:20
Но нужно не забывать о ДНС, т.е. подправить конфиг таким образом чтобы адрес днс сервера был актуален для той сети, куда ип выдается.
т.е. если на первом у меня 1.1.1.1 а на втором например 8.8.8.8 то в конфиге днцп выставить соответствие тем подсетям, которые обслуживает 1 или 2 -й сервер.


Название: Re: Распределенная система
Отправлено: Cell от 05 Июля 2018, 15:19:22
если на старом сервере был ип адрес 172.18.7.1 и шлюз выдавался 172.18.7.1 то так и переносите на новый 172.18.7.1 а на старом сделайте 172.18.7.254(только юзерам его не выдайте случайно). Что касается ДНС, если на старом выдавался днс для юзера 172.18.7.1 то на новом нужно выдавать 172.18.7.254 - вы же поменяли там ип ))) Я надеюсь вы не собираетесь новый днс настраивать для саттелита? )


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 15:29:05
На старом у меня днс 1.1.1.1, как по мануалу для всех подсетей. Я там дхцп конфиг скинул, а когда пытался в unbound.conf прописать днс для всех подсетей так он мне ошибку выдал.


Название: Re: Распределенная система
Отправлено: Cell от 05 Июля 2018, 15:30:45
Если юзаете публичные днс - то можете вообще ничего с ними не делать, и так будет работать


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 15:31:17
Заглушка если что тоже останется на старом сервере?


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 15:32:26
Если юзаете публичные днс - то можете вообще ничего с ними не делать, и так будет работать
Понял   :)


Название: Re: Распределенная система
Отправлено: Cell от 05 Июля 2018, 15:48:40
Заглушка если что тоже останется на старом сервере?
Вот с заглушкой как раз беда. Как я понимаю у вас используется Freebsd и перенаправить на старую заглушку получится только при помощи PF но я не пробовал, а всегда делал заглушку локальную.


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 05 Июля 2018, 15:52:17
Да frebsd ну чтож будем пробовать разбираться, Вам лично огромная благодарность за помощь, завтра на свежую голову буду пробовать тестовый стенд собирать, если вдруг возникнут вопросы можно будет к Вам обратиться?


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 06 Июля 2018, 07:21:58
Все вроде настроил по вашей инструкции, т.е. dhcp без управления nodeny инет на клиентском ПК есть. Если запустить фаервол и носервер - инет пропадает. В таблице 21 пусто. Согласно мануала трафик между серверами разрешил.
Цитировать
${f} table 101 add 1.2.3.1
${f} add 2030 allow ip from "table(101)" to any
Помогите пожалуйста советом, где еще, что подкрутить. Получается должны еще какие нибудь правила в фаерволе быть?


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 06 Июля 2018, 07:45:16
Спасибо огромное многоуважаемый Cell, благодаря Вашим подсказкам я разобрался, теперь клиенский ПК работает через сателит под управлением NoDeny. Но остался еще один не решенный момент - перенаправление на заглушку.


Название: Re: Распределенная система
Отправлено: Cell от 06 Июля 2018, 09:56:35
Спасибо огромное многоуважаемый Cell, благодаря Вашим подсказкам я разобрался, теперь клиенский ПК работает через сателит под управлением NoDeny. Но остался еще один не решенный момент - перенаправление на заглушку.
Ну тут делать тоже самое что на основном серваке.


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 06 Июля 2018, 10:01:11
Заглушку запускать на насе? И за unbound? Его на NAS надо настраивать, как по мануалу.


Название: Re: Распределенная система
Отправлено: Pa4ka от 06 Июля 2018, 10:50:50
Заглушку запускать на насе? И за unbound? Его на NAS надо настраивать, как по мануалу.
unbound ставьте где вам удобнее, мы ставим по возможности на NAS, а ним форвардим на свой основной днс сервер и на несколько внешних


Название: Re: Распределенная система
Отправлено: DenisNikolaich от 06 Июля 2018, 11:37:04
Огромное спасибо за помощь, вроде все удалось настроить и заглушку и доступ в инет под управлением нодени. Еще раз спасибо!!!


Название: Re: Распределенная система
Отправлено: elite от 06 Июля 2018, 12:41:12
unbound ставьте где вам удобнее, мы ставим по возможности на NAS, а ним форвардим на свой основной днс сервер и на несколько внешних
кстати, почему так? разве не правильне держать отдельных 1-2 днс сервера


Название: Re: Распределенная система
Отправлено: Cell от 06 Июля 2018, 12:44:36
unbound ставьте где вам удобнее, мы ставим по возможности на NAS, а ним форвардим на свой основной днс сервер и на несколько внешних
кстати, почему так? разве не правильне держать отдельных 1-2 днс сервера
Через определенное количество лет ко мне пришло понимание что ДНС должны стоять отдельно и не быть связанны с NAS ))) объяснений существует великое множество, тут больше даже "мудрость предков" скорее важна )))


Название: Re: Распределенная система
Отправлено: WideAreaNetwork от 21 Марта 2021, 21:54:38
Огромное спасибо за помощь, вроде все удалось настроить и заглушку и доступ в инет под управлением нодени. Еще раз спасибо!!!
если помните то напишите пожалуйста как решили вопрос с заглушкой


Название: Re: Распределенная система
Отправлено: WideAreaNetwork от 27 Мая 2021, 07:32:27
разделили все в одном на биллинг и нас, ОС на FreeBSD, с заглушкой не получается, точнее с правилом ipfw

заглушка запущена на насе
Код:
ps aux | grep cap | grep -v grep
root   7872    0.4  0.2 41632 25212  0  S    08:24      0:00.14 perl /usr/local/nodeny/nokernel.pl -m=cap -d

если в ручную добавить правило на насе то работает, правда есть нюансы, о них потом
Код:
ipfw add 18400 fwd 127.0.0.1,8080 tcp from any to any dst-port 80

добавляю его в rc.firewall
Код:
cat /etc/rc.firewall | grep fwd
${f} add 18400 fwd 127.0.0.1,8080 tcp from any to any 80
и после ребута получаю отсутствие это правило в ipfw show, его там нету

подскажите плиз как руки то выпрямить если в них дело? ЧЯДНТ ?

или может кто поделится конфигами на насе для заглушки


Название: Re: Распределенная система
Отправлено: Efendy от 28 Мая 2021, 00:41:47
nofire.pm удаляет правила попадающие в диапазон $cfg::ipfw_num_out_start .. $cfg::ipfw_num_out_end и $cfg::ipfw_num_in_start .. $cfg::ipfw_num_in_end.

По дефолту в конфиге:

Код:
$ipfw_num_out_start = 5000;     # начиная с этого номера будут идти правила фильтрации пакетов, идущих от клиентов
$ipfw_num_out_end   = 32000;

$ipfw_num_in_start  = 33000;    # начиная с этого номера будут идти правила фильтрации пакетов, идущих к клиентам
$ipfw_num_in_end    = 60000;

попробуй в другое место поставить правило. Если не получится логически, то можно будет в nofire.pm запретить удалять правило именно с этим номером:

Код:
    if( ($num >= $cfg::ipfw_num_out_start && $num <= $cfg::ipfw_num_out_end) ||
        ($num >= $cfg::ipfw_num_in_start  && $num <= $cfg::ipfw_num_in_end) )
на
Код:
    if( (($num >= $cfg::ipfw_num_out_start && $num <= $cfg::ipfw_num_out_end) ||
        ($num >= $cfg::ipfw_num_in_start  && $num <= $cfg::ipfw_num_in_end)) && $num !=18400 )
но тут надо понимать, что 18400 это тупо где-то посредине окна, в котором динамически прописываются правила. Лучше куда-то под конец его вставить. Можно даже в коде где-то около:
Код:
  $M->{fw}{rules} .= 'add '.$M->{fw}{cursor_out2}++." deny ip from any to any\n";
 $M->{fw}{rules} .= 'add '.$M->{fw}{cursor_in2}++." deny ip from any to any\n";
 $M->{fw}{rules} .= 'add '.$cfg::ipfw_num_in_end." deny ip from any to any\n";
 $M->{fw}{rules} .= 'add '.$cfg::ipfw_num_out_end." deny ip from any to any\n"
Вообще, этот код писал кучу лет назад, может где-то ошибаюсь


Название: Re: Распределенная система
Отправлено: WideAreaNetwork от 02 Июня 2021, 08:53:35
спасибо, но но тогда интересно откуда правило для заглушки бралось когда было все в одном, вот сейчас на нем
Код:
# ipfw show
00100        0           0 deny ip from table(102) to any
00110    50547     6155136 allow ip from any to any via lo0
00120  9158313 13203163485 skipto 1000 ip from me to any
00130      763       27468 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00160  4101528   256871745 skipto 2000 ip from any to me
00200    29091     8179412 skipto 500 ip from any to any { via vlan19 or via vlan34 }
00300   492749   157788856 skipto 4500 ip from any to any in
00400        0           0 skipto 450 ip from any to any { recv vlan19 or recv vlan34 }
00420        0           0 tee 1 ip from any to any
00450        0           0 tee 2 ip from any to any
00490        0           0 allow ip from any to any
00500    29091     8179412 skipto 32500 ip from any to any in
00510        0           0 tee 1 ip from any to any
00540        0           0 allow ip from any to any
01000        0           0 allow udp from any 53,7723 to any
01010 12425840 13151443991 allow tcp from any to any setup keep-state :default
01020    11784     1225146 allow udp from any to any keep-state :default
01100   373291   270637777 allow ip from any to any
02000        0           0 check-state :default
02010   103185     5819921 allow icmp from any to any
02020   196177    23083816 allow tcp from any to any 22,80,443,5006
02030        0           0 allow tcp from table(101) to any 3306
02050   115748     5517015 deny ip from any to any { via vlan19 or via vlan34 }
02060        0           0 allow udp from any to any 53,7723
02100    33816     2307564 deny ip from any to any
04500        0           0 allow ip from any to table(100)
05000        0           0 skipto 18502 ip from table(24) to table(14)
05001        0           0 allow ip from table(44) to table(14)
05002        0           0 skipto 18503 ip from table(21) to table(11)
05003        0           0 allow ip from table(41) to table(11)
18500        0           0 fwd 127.0.0.1,8080 tcp from any to any 80
18501   492723   157780517 deny ip from any to any
18502        0           0 pipe tablearg ip from table(24) to any
18503        0           0 pipe tablearg ip from table(21) to any
32000        0           0 deny ip from any to any
32490       26        8339 deny ip from any to any
32500        0           0 allow ip from table(100) to any
33000        0           0 skipto 46501 ip from table(14) to table(34)
33001        0           0 allow ip from table(14) to table(44)
33002        0           0 skipto 46502 ip from table(11) to table(31)
33003        0           0 allow ip from table(11) to table(41)
46500    29068     8172056 deny ip from any to any
46501        0           0 pipe tablearg ip from any to table(34)
46502        0           0 pipe tablearg ip from any to table(31)
60000        0           0 deny ip from any to any
65535       90       20433 deny ip from any to any

Код:
18500        0           0 fwd 127.0.0.1,8080 tcp from any to any 80

и его в rc.firewall нету
Код:
# cat /etc/rc.firewall
#!/bin/sh -

f='/sbin/ipfw'

ifOut='vlan19 vlan34'

use_ipcad_divert=YES


ifVia=''
ifRecv=''
tmp_or=''
for i in $ifOut
  do
    ifVia="${ifVia}${tmp_or}via $i"
    ifRecv="${ifRecv}${tmp_or}recv $i"
    tmp_or=' or '
  done

${f} -f flush

# dns
${f} table 100 add 8.8.8.8

#TurboSMS
${f} add 52 allow ip from 94.249.146.189 3306 to me via vlan19
${f} add 53 allow ip from me to 94.249.146.189 3306 via vlan19

${f} add 100 deny ip from "table(102)" to any

${f} add 110 allow ip from any to any via lo0
${f} add 120 skipto 1000 ip from me to any
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 160 skipto 2000 ip from any to me

${f} add 200 skipto 500 ip from any to any { $ifVia }

${f} add 300 skipto 4500 ip from any to any in

${f} add 400 skipto 450 ip from any to any { $ifRecv }
if [ $use_ipcad_divert ]; then
  ${f} add 420 tee 1 ip from any to any
  ${f} add 450 tee 2 ip from any to any
fi
${f} add 490 allow ip from any to any

${f} add 500 skipto 32500 ip from any to any in
if [ $use_ipcad_divert ]; then
  ${f} add 510 tee 1 ip from any to any
fi
${f} add 540 allow ip from any to any


${f} add 1000 allow udp from any 53,7723 to any
${f} add 1010 allow tcp from any to any setup keep-state
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any

${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 22,80,443,5006
${f} add 2030 allow tcp from "table(101)" to any 3306
${f} add 2050 deny ip from any to any { $ifVia }
${f} add 2060 allow udp from any to any 53,7723

${f} add 2100 deny ip from any to any

${f} add 4500 allow ip from any to "table(100)"
${f} add 32490 deny ip from any to any

${f} add 32500 allow ip from "table(100)" to any


Название: Re: Распределенная система
Отправлено: Efendy от 02 Июня 2021, 18:40:35
А вот я нашел в конфиге:
Код:
$forward_enabled    = 0;        # включить форвард неавторизованных клиентов на заглушку. Требует перекомпиляции ядра системы
$forward_port       = 8080;     # на какой порт форвардить


Название: Re: Распределенная система
Отправлено: WideAreaNetwork от 15 Января 2022, 11:35:05
хотел уточнить у тех кто реализовывал у себя заглушки на насе с ОС FreeBSD, сейчас есть биллинг 1.1.1.1 и нас 2.2.2.2

при разделении на биллинг и нас нужно ли тушить правило fwd на биллинге? сейчас получается правило форвардинга и на биллинге и на насе включено
Код:
$forward_enabled    = 1;        # включить форвард неавторизованных клиентов на заглушку. Требует перекомпиляции ядра системы

а спрашиваю, так как @Cell писал что делать надо локально, абонента на насе при перекидывании на заглушку кидает по адресу
Код:
1.1.1.1/cgi-bin/cap.pl?url=msftconnecttest.com/redirect

разве не должно было быть как ниже?
Код:
2.2.2.2/cgi-bin/cap.pl?url=msftconnecttest.com/redirect

сам модуль заглушки запущен на насе

если добавлять второй нас то модуль заглушки нужно будет и на нем запускать?


Название: Re: Распределенная система
Отправлено: Cell от 15 Января 2022, 11:47:42
фряха не умеет редиректить на другой хост, только на самого себя поэтому сколько брасов столько и заглушек нужно настраивать


Название: Re: Распределенная система
Отправлено: WideAreaNetwork от 15 Января 2022, 19:35:27
спасибо

значит правило форварда включаем на насах, также на каждом запускаем заглушку cap.pl


Название: Re: Распределенная система
Отправлено: WideAreaNetwork от 15 Января 2022, 22:07:04
сейчас нет возможности для каждого внести адрес урла для заглушки, так как настройки cap.cfg вынесены в админку, как быть в таком случае?
нужно на каждом насе создать адрес какой-то один для всех насов на l0 интерфейсе и его прописать в админке?


Название: Re: Распределенная система
Отправлено: WideAreaNetwork от 15 Января 2022, 22:23:23
нашел

Если серверов несколько, то на сателлите не обязательно иметь веб-сервер, вернее лучше его там не иметь. Модуль заглушки - сам микровебсервер, который делает чисто редиректы на центральный сервер с веб-админкой.

У автора проблемы в конфиге в параметре url нужно указать ип не сателлита, а центрального сервера