Changeset 14025 in genesis


Ignore:
Timestamp:
Jan 22, 2018, 12:49:48 PM (7 years ago)
Author:
rick
Message:

Fix overlapping IP networks

The syntax checker did not check for overlapping network ranges. For example
/24 defined at Dwars overlapped with /23 of Meerburgkerk. This is causing
issues with routing and network propogation.

While here ensure all ns_ip has proper subnet set

Files:
45 edited

Legend:

Unmodified
Added
Removed
  • nodes/AJSoft2/wleiden.yaml

    r13548 r14025  
    6464  dhcp       : False
    6565  compass    : "z"
    66   ns_ip      : "172.16.17.106"
     66  ns_ip      : "172.16.17.106/29"
    6767  ns_mac     : "00:15:6d:71:53:4e"
    6868  bridge_type: "NanoStation5"
  • nodes/CeTIM1/wleiden.yaml

    r13102 r14025  
    6363  dhcp       : False
    6464  compass    : "w"
    65   ns_ip      : "172.16.4.171"
     65  ns_ip      : "172.16.4.171/29"
    6666  ns_mac     : "00:15:6d:f2:38:9a"
    6767  bridge_type: "NanoStation5"
     
    107107  dhcp       : False
    108108  compass    : "no"
    109   ns_ip      : "172.16.17.146"
     109  ns_ip      : "172.16.17.146/29"
    110110  ns_mac     : "00:15:6d:f6:be:e4"
    111111  bridge_type: "NanoStation5"
  • nodes/DeKijker/wleiden.yaml

    r13844 r14025  
    6363  dhcp       : False
    6464  compass    : "z"
    65   ns_ip      : "172.16.7.186"
     65  ns_ip      : "172.16.7.186/29"
    6666  ns_mac     : "04:18:d6:ca:fd:bf"
    6767  bridge_type: "NanoStationM5"
  • nodes/Drijfhuis/wleiden.yaml

    r13102 r14025  
    4545  dhcp       : False
    4646  compass    : "zo"
    47   ns_ip      : "172.16.16.35"
     47  ns_ip      : "172.16.16.35/29"
    4848  ns_mac     : "00:15:6d:70:50:04"
    4949  bridge_type: "NanoStation5"
  • nodes/Dwars/wleiden.yaml

    r14024 r14025  
    1010location  : "Thomas Uittenbogaard, XXX, XXXX XX, Leiden"
    1111longitude : "4.000"
    12 masterip  : "172.17.115.1"
     12masterip  : "172.17.73.1"
    1313monitoring_group: "wleiden"
    1414nodename  : "Dwars"
     
    4242iface_bridge0:
    4343  comment    : "Access Points"
    44   ip         : "172.17.115.1/24"
     44  ip         : "172.17.73.1/24"
    4545  type       : "eth"
    4646  dhcp       : "10-240"
     
    6464  channel    : 1
    6565  ssid       : "Wifi Leiden"
    66   ns_ip      : "172.17.115.2/24"
     66  ns_ip      : "172.17.73.2/24"
    6767  ns_mac     : "xx:xx:xx:xx:xx:xx"
    6868  ns_type    : "mesh"
     
    7272iface_vr1_extra0:
    7373  comment    : "Monitoring Server"
    74   ip         : "172.17.115.5/24"
     74  ip         : "172.17.73.5/24"
    7575  sdesc      : "2monitor"
    7676  type       : "eth"
  • nodes/Graficall/wleiden.yaml

    r13968 r14025  
    104104  dhcp       : False
    105105  compass    : "zw"
    106   ns_ip      : "172.16.3.11"
     106  ns_ip      : "172.16.3.11/29"
    107107  ns_mac     : "04:18:d6:56:ae:0c"
    108108  bridge_type: "NanoStationM5"
     
    121121  dhcp       : False
    122122  compass    : "nw"
    123   ns_ip      : "172.16.10.50"
     123  ns_ip      : "172.16.10.50/29"
    124124  ns_mac     : "04:18:d6:56:a5:bc"
    125125  bridge_type: "NanoStationM5"
  • nodes/HMKerk/wleiden.yaml

    r13548 r14025  
    3131  ssid       : "WiFi-Hoogmade"
    3232  dhcp       : "10-60"
    33   ns_ip      : "172.25.64.2"
     33  ns_ip      : "172.25.64.2/24"
    3434  ns_mac     : "00:15:6d:e8:e7:46"
    3535  bridge_type: "Bullet2"
  • nodes/Haagwijk/wleiden.yaml

    r13605 r14025  
    6262  dhcp       : False
    6363  compass    : "o"
    64   ns_ip      : "172.16.17.130"
     64  ns_ip      : "172.16.17.130/29"
    6565  ns_mac     : "00:15:6d:ec:82:60"
    6666  bridge_type: "NanoStation5"
  • nodes/Hofland/wleiden.yaml

    r13548 r14025  
    5858  ssid       : "ap-WirelessLeiden-Hofland"
    5959  dhcp       : "10-250"
    60   ns_ip      : "172.20.148.2"
     60  ns_ip      : "172.20.148.2/24"
    6161  ns_mac     : "dc:9f:db:3e:27:a1"
    6262  bridge_type: "BulletM2"
  • nodes/Hofwijck/wleiden.yaml

    r13313 r14025  
    3636iface_ue0:
    3737  comment    : "Ethernet naar Hofwijck"
    38   ip         : "172.23.16.65/28"
     38  ip         : "172.17.128.1/24"
    3939  sdesc      : "2hofwijck"
    4040  type       : "eth"
     
    5454  dhcp       : False
    5555  compass    : "n"
    56   ns_ip      : "172.16.6.26"
     56  ns_ip      : "172.16.6.26/29"
    5757  ns_mac     : "00:15:6d:e8:e7:37"
    5858  bridge_type: "Bullet2"
     
    8888  dhcp       : False
    8989  compass    : "w"
    90   ns_ip      : "172.16.3.107"
     90  ns_ip      : "172.16.3.107/29"
    9191  ns_mac     : "00:15:6d:f7:be:d0"
    9292  bridge_type: "NanoStation5"
  • nodes/Houtmarkt/wleiden.yaml

    r13583 r14025  
    6262  dhcp       : False
    6363  compass    : "zw"
    64   ns_ip      : "172.16.17.147"
     64  ns_ip      : "172.16.17.147/29"
    6565  ns_mac     : "04:18:d6:cc:02:0c"
    6666  bridge_type: "NanoStationM5"
     
    7878  ssid       : "ap-WirelessLeiden-Houtmarkt2"
    7979  dhcp       : "10-250"
    80   ns_ip      : "172.17.43.2"
     80  ns_ip      : "172.17.43.2/24"
    8181  ns_mac     : "00:15:6d:30:28:4e"
    8282  bridge_type: "Bullet2"
  • nodes/HuygensZ/wleiden.yaml

    r13844 r14025  
    4545  dhcp       : False
    4646  compass    : "140"
    47   ns_ip      : "172.16.5.98"
     47  ns_ip      : "172.16.5.98/29"
    4848  ns_mac     : "04:18:d6:cc:01:8d"
    4949  bridge_type: "NanoStationM5"
  • nodes/JorisdeWitte/wleiden.yaml

    r13861 r14025  
    5858  dhcp       : False
    5959  compass    : "w"
    60   ns_ip      : "172.16.7.11"
     60  ns_ip      : "172.16.7.11/29"
    6161  ns_mac     : "dc:9f:db:f2:0e:5d"
    6262  bridge_type: "NanoBridge25 M5"
     
    7575  dhcp       : False
    7676  compass    : "w"
    77   ns_ip      : "172.16.7.19"
     77  ns_ip      : "172.16.7.19/29"
    7878  ns_mac     : "00:15:6d:f2:43:83"
    7979  bridge_type: "NanoStation M5"
  • nodes/LHS/wleiden.yaml

    r13880 r14025  
    3737iface_vr0:
    3838  comment    : "External Link"
    39   ip         : "0.0.0.0/30"
    4039  sdesc      : "2external"
    4140  type       : "eth"
  • nodes/Langevoort/wleiden.yaml

    r13869 r14025  
    9292  dhcp       : "10-240"
    9393  compass    : "w"
    94   ns_ip      : "172.17.70.2/29"
     94  ns_ip      : "172.17.70.2/24"
    9595  ns_mac     : "00:15:6d:e9:f9:bd"
    9696  bridge_type: "Bullet2"
  • nodes/Lebkov/wleiden.yaml

    r13584 r14025  
    5555  dhcp       : False
    5656  compass    : "z"
    57   ns_ip      : "172.16.17.227"
     57  ns_ip      : "172.16.17.227/29"
    5858  ns_mac     : "04:18:d6:56:ac:b7"
    5959  bridge_type: "NanoStation5"
  • nodes/Lijtweg1/wleiden.yaml

    r13946 r14025  
    4444  dhcp       : "10-250"
    4545  compass    : "w"
    46   ns_ip      : "172.17.69.2"
     46  ns_ip      : "172.17.69.2/24"
    4747  ns_mac     : "00:27:22:e2:53:1c"
    4848  bridge_type: "NanoStationM2"
     
    6060  dhcp       : False
    6161  compass    : "n"
    62   ns_ip      : "172.16.4.114"
     62  ns_ip      : "172.16.4.114/29"
    6363  ns_mac     : "dc:9f:db:2e:0b:03"
    6464  bridge_type: "NanoBridgeM5"
     
    9090  ssid       : "il-o.lijtweg1.wleiden.net"
    9191  compass    : "no"
    92   ns_ip      : "172.16.6.242"
     92  ns_ip      : "172.16.6.242/29"
    9393  ns_mac     : "24:a4:3c:0a:54:9e"
    9494  bridge_type: "NanoStationM5"
  • nodes/Lijtweg2/wleiden.yaml

    r13953 r14025  
    7777
    7878iface_vr0_alias0:
    79   comment    : "Link naar Juffermans via switch nano 172.16.17.146 00:15:6d:f2:43:eb"
     79  comment    : "Link naar Juffermans via switch nano 172.16.3.146 00:15:6d:f2:43:eb"
    8080  ip         : "172.16.3.145/29"
    8181  sdesc      : "2juffermans"
     
    8787  dhcp       : False
    8888  compass    : "o"
    89   ns_ip      : "172.16.17.146/29"
     89  ns_ip      : "172.16.3.146/29"
    9090  ns_mac     : "00:15:6d:f2:43:eb"
    9191  bridge_type: "NanoStation M5"
     
    129129  dhcp       : False
    130130  compass    : "zw"
    131   ns_ip      : "172.16.6.34"
     131  ns_ip      : "172.16.6.34/29"
    132132  ns_mac     : "04:18:d6:56:ad:5e"
    133133  bridge_type: "NanoStation5 M5"
  • nodes/LivingLab/wleiden.yaml

    r13567 r14025  
    5555iface_vr0:
    5656  comment    : "Lokaal maar uitgezet ivm reboot probleem"
    57   ip         : "0.0.0.0/32"
    5857  sdesc      : "2lokaal"
    5958  type       : "eth"
     
    9089  dhcp       : False
    9190  compass    : "zo"
    92   ns_ip      : "172.16.17.114"
     91  ns_ip      : "172.16.17.114/29"
    9392  ns_mac     : "00:15:6d:70:51:e9"
    9493  bridge_type: "NanoStation5"
  • nodes/Meelfabriek1/wleiden.yaml

    r13998 r14025  
    7272  dhcp       : False
    7373  compass    : "zw"
    74   ns_ip      : "172.17.152.2"
     74  ns_ip      : "172.17.152.2/24"
    7575  ns_mac     : "24:a4:3c:0a:42:1d"
    7676  bridge_type: "NanostationM5"
  • nodes/OnsBuiten/wleiden.yaml

    r13928 r14025  
    6666  dhcp       : False
    6767  compass    : "w"
    68   ns_ip      : "172.16.3.251"
     68  ns_ip      : "172.16.3.251/29"
    6969  ns_mac     : "00:15:6d:e8:f9:c6"
    7070  bridge_type: "Bullet2"
     
    8383  dhcp       : False
    8484  compass    : "z"
    85   ns_ip      : "172.17.40.2"
     85  ns_ip      : "172.17.40.2/24"
    8686  ns_mac     : "dc:9f:db:36:a5:93"
    8787  bridge_type: "NanoStationM2-Loco"
  • nodes/Rabo1/wleiden.yaml

    r13548 r14025  
    5353iface_vr0:
    5454  comment    : "Ethernet naar Rabo2"
    55   ip         : "172.19.137.65/30"
     55  ip         : "172.16.3.17/30"
    5656  sdesc      : "2rabo2"
    5757  type       : "eth"
  • nodes/Rabo2/wleiden.yaml

    r13548 r14025  
    77location  : "Rabobank (Zuid), Schipholweg 105, 2316 XC, Leiden"
    88longitude : "4.48901"
    9 masterip  : "172.19.137.1"
     9masterip  : "172.17.116.1"
    1010monitoring_group: "wleiden"
    1111nodename  : "Rabo2"
     
    2424iface_ath0:
    2525  comment    : "Ap zuid"
    26   ip         : "172.19.137.1/24"
     26  ip         : "172.17.116.1/24"
    2727  sdesc      : "ap-z"
    2828  mode       : "ap"
     
    3737iface_vr0:
    3838  comment    : "Ethernet naar Rabo1"
    39   ip         : "172.19.137.66/30"
     39  ip         : "172.16.3.18/30"
    4040  sdesc      : "2rabo1"
    4141  type       : "eth"
  • nodes/RijnVliet/wleiden.yaml

    r13442 r14025  
    4646  dhcp       : "10-250"
    4747  compass    : "zw"
    48   ns_ip      : "172.17.4.2"
     48  ns_ip      : "172.17.4.2/24"
    4949  ns_mac     : "00:15:6d:e8:f9:b0"
    5050  bridge_type: "Bullet2"
  • nodes/Robijn2/wleiden.yaml

    r13869 r14025  
    5454  dhcp       : "10-240"
    5555  compass    : "nw"
    56   ns_ip      : "172.17.98.2"
     56  ns_ip      : "172.17.98.2/24"
    5757  ns_mac     : "dc:9f:db:36:1d:b7"
    5858  bridge_type: "NanoStationM2"
     
    7171  dhcp       : "10-240"
    7272  compass    : "zo"
    73   ns_ip      : "172.17.99.2"
     73  ns_ip      : "172.17.99.2/24"
    7474  ns_mac     : "dc:9f:db:36:1d:b5"
    7575  bridge_type: "NanoStationM2"
  • nodes/Robijn3/wleiden.yaml

    r13894 r14025  
    8080  dhcp       : "10-240"
    8181  compass    : "nw"
    82   ns_ip      : "172.17.103.2"
     82  ns_ip      : "172.17.103.2/24"
    8383  ns_mac     : "dc:9f:db:36:1d:1d"
    8484  bridge_type: "NanoStationM2"
     
    132132iface_vr2_extra4:
    133133  comment    : "AP-repeater "
    134   ip         : "172.17.103.6.6/28"
     134  ip         : "172.17.103.7/28"
    135135  type       : "eth"
    136136  channel    : "11"
  • nodes/Roomburgh1/wleiden.yaml

    r13125 r14025  
    5353
    5454iface_vr0:
    55   comment    : "Lokaal subnet"
    56   ip         : "172.18.49.71/28"
    57   sdesc      : "localsubnet"
     55  comment    : "Ethernet naar Roomburgh2"
     56  ip         : "172.16.3.61/30"
     57  sdesc      : "2roomburgh2"
    5858  type       : "eth"
    5959  dhcp       : False
  • nodes/Roomburgh2/wleiden.yaml

    r13125 r14025  
    5454
    5555iface_vr0:
    56   comment    : "Lokaal subnet"
    57   ip         : "172.18.49.72/28"
    58   sdesc      : "localsubnet"
     56  comment    : "Ethernet naar Roomburgh1"
     57  ip         : "172.16.3.62/30"
     58  sdesc      : "2roomburgh1"
    5959  type       : "eth"
    6060  dhcp       : False
  • nodes/Rustdam/wleiden.yaml

    r14018 r14025  
    130130
    131131
     132#? (172.17.164.23) at dc:9f:db:3e:27:b0 on bridge1 expires in 1189 seconds [bridge]
     133#? (172.17.164.43) at dc:9f:db:3e:27:32 on bridge1 expires in 1199 seconds [bridge]
     134#? (172.17.164.42) at dc:9f:db:3e:27:4c on bridge1 expires in 1192 seconds [bridge]
     135#? (172.17.164.44) at dc:9f:db:3e:27:52 on bridge1 expires in 1126 seconds [bridge]
     136#? (172.17.164.1) at 02:f1:10:3d:9e:01 on bridge1 permanent [bridge]
     137#? (172.17.164.34) at dc:9f:db:3e:26:81 on bridge1 expires in 1189 seconds [bridge]
     138#
  • nodes/Rustenborch/wleiden.yaml

    r13995 r14025  
    5454  dhcp       : False
    5555  compass    : "no"
    56   ns_ip      : "172.16.6.35"
     56  ns_ip      : "172.16.6.35/29"
    5757  ns_mac     : "00:15:6d:70:54:67"
    5858  bridge_type: "NanoStation5"
  • nodes/SOM1/wleiden.yaml

    r14022 r14025  
    4646  dhcp       : False
    4747  compass    : "o"
    48   ns_ip      : "172.16.7.10"
     48  ns_ip      : "172.16.7.10/29"
    4949  ns_mac     : "24:a4:3c:0a:54:99"
    5050  bridge_type: "NanoStation M5"
  • nodes/SOM2/wleiden.yaml

    r13990 r14025  
    4545  dhcp       : False
    4646  compass    : "o"
    47   ns_ip      : "172.16.3.250"
     47  ns_ip      : "172.16.3.250/29"
    4848  ns_mac     : "04:18:d6:ca:fc:be"
    4949  bridge_type: "NanoStationM5"
  • nodes/StJan/wleiden.yaml

    r13548 r14025  
    180180  dhcp       : False
    181181  compass    : "no"
    182   ns_ip      : "172.16.3.235"
     182  ns_ip      : "172.16.3.235/29"
    183183  ns_mac     : "00:27:22:8a:3b:f5"
    184184  bridge_type: "NanoStation M5"
  • nodes/Stadhuis/wleiden.yaml

    r13961 r14025  
    7575  compass    : "nw"
    7676  distance   : "1.8 km"
    77   ns_ip      : "172.17.30.2"
     77  ns_ip      : "172.17.30.2/24"
    7878  ns_mac     : "00:15:6d:d4:f8:05"
    7979  bridge_type: "Bullet2"
  • nodes/TEYAkzoNobel1/wleiden.yaml

    r13943 r14025  
    6262  dhcp       : False
    6363  compass    : "n"
    64   ns_ip      : "172.16.9.35"
     64  ns_ip      : "172.16.9.35/29"
    6565  ns_mac     : "dc:9f:db:64:23:47"
    6666  bridge_type: "NanoStationM5"
     
    7979  dhcp       : False
    8080  compass    : "o"
    81   ns_ip      : "172.16.9.250"
     81  ns_ip      : "172.16.9.250/29"
    8282  ns_mac     : "dc:9f:db:e4:98:96"
    8383  bridge_type: "NanoStationM5"
     
    9696  dhcp       : False
    9797  compass    : "n"
    98   ns_ip      : "172.16.10.34"
     98  ns_ip      : "172.16.10.34/29"
    9999  ns_mac     : "dc:9f:db:f2:0e:3f"
    100100  bridge_type: "NanoBridgeM5"
  • nodes/TEYAkzoNobel2/wleiden.yaml

    r13844 r14025  
    4545  dhcp       : False
    4646  compass    : "nw"
    47   ns_ip      : "172.16.10.2"
     47  ns_ip      : "172.16.10.2/29"
    4848  ns_mac     : "dc:9f:db:f2:0f:6c"
    4949  bridge_type: "NanoBridgeM5"
     
    6262  dhcp       : False
    6363  compass    : "o"
    64   ns_ip      : "172.16.7.18"
     64  ns_ip      : "172.16.7.18/29"
    6565  ns_mac     : "dc:9f:db:2a:2c:ed"
    6666  bridge_type: "NanoStationM5"
     
    9090  dhcp       : False
    9191  compass    : "z"
    92   ns_ip      : "172.16.5.3"
     92  ns_ip      : "172.16.5.3/29"
    9393  ns_mac     : "dc:9f:db:f2:0e:2d"
    9494  bridge_type: "NanoBridgeM5"
  • nodes/TEYJOP/wleiden.yaml

    r13804 r14025  
    7474  dhcp       : False
    7575  compass    : "z"
    76   ns_ip      : "172.16.5.187"
     76  ns_ip      : "172.16.5.187/29"
    7777  ns_mac     : ""
    7878  bridge_type: "NanoStationM5"
  • nodes/TestTienThuis/wleiden.yaml

    r13869 r14025  
    4747  ssid       : "WiFi Leiden TEST"
    4848  dhcp       : "10-240"
    49   ns_ip      : "172.17.41.2/24"
     49  ns_ip      : "172.17.155.2/24"
    5050  ns_mac     : "00:15:6d:d4:f8:36"
    5151  bridge_type: "Bullet2"
  • nodes/Vosko2/wleiden.yaml

    r13140 r14025  
    6363  dhcp       : False
    6464  compass    : "n"
    65   ns_ip      : "172.16.4.11"
     65  ns_ip      : "172.16.4.11/29"
    6666  ns_mac     : "00:15:6d:f2:35:7d"
    6767  bridge_type: "NanoStation5"
  • nodes/WP/wleiden.yaml

    r11738 r14025  
    2121status    : "up"
    2222
     23iface_bridge0:
     24  comment    : "Access Points"
     25  ip         : "172.19.137.1/24"
     26  type       : "eth"
     27  dhcp       : "10-240"
     28  status     : "up"
    2329
    2430iface_sis0:
    2531  comment    : "Ethernet naar proxy5"
    26   ip         : "172.19.168.65/30"
     32  parent     : "bridge0"
    2733  sdesc      : "2proxy5"
    2834  type       : "eth"
    29   dhcp       : False
    3035  status     : "up"
    3136
     
    5055iface_wi0:
    5156  comment    : "Omni voor de buurt"
    52   ip         : "172.19.168.1/24"
     57  parent     : "bridge0"
    5358  sdesc      : "ap"
    5459  mode       : "ap"
     
    5661  channel    : 11
    5762  ssid       : "ap-WirelessLeiden-WoutertjeP"
    58   dhcp       : "10-250"
    5963  status     : "up"
    6064
  • nodes/ZTWDorpskerk/wleiden.yaml

    r13960 r14025  
    8080  ssid       : "ap-ZTW-Dorpskerk-Plein"
    8181  compass    : "o"
    82   ns_ip      : "172.17.62.2/24"
     82  ns_ip      : "172.17.61.2/24"
    8383  ns_mac     : "00:15:6d:30:d2:b8"
    8484  bridge_type: "NanoStation2"
  • nodes/ZTWMeerburgkerk/wleiden.yaml

    r14023 r14025  
    6060  dhcp       : False
    6161  compass    : "zw"
    62   ns_ip      : "172.16.7.202"
     62  ns_ip      : "172.16.7.202/29"
    6363  ns_mac     : "dc:9f:db:64:23:a3"
    6464  bridge_type: "NanoStation M5"
  • nodes/ZTWRijneke/wleiden.yaml

    r14021 r14025  
    4141  dhcp       : False
    4242  compass    : "nw"
    43   ns_ip      : "172.16.9.195"
     43  ns_ip      : "172.16.9.195/29"
    4444  ns_mac     : "00:27:22:8a:3b:f3"
    4545  bridge_type: "NanoStation M5"
     
    5858  dhcp       : False
    5959  compass    : "no"
    60   ns_ip      : "172.16.5.251"
     60  ns_ip      : "172.16.5.251/29"
    6161  ns_mac     : "00:27:22:8a:3b:4f"
    6262  bridge_type: "NanoStation M5"
     
    126126  dhcp       : False
    127127  compass    : "zw"
    128   ns_ip      : "172.16.3.234"
     128  ns_ip      : "172.16.3.234/29"
    129129  ns_mac     : "00:27:22:8a:3b:d0"
    130130  bridge_type: "NanoStation M5"
  • nodes/ZwaluwAK/wleiden.yaml

    r13844 r14025  
    5454  ssid       : "WiFi-Leiden-N"
    5555  dhcp       : "10-250"
    56   ns_ip      : "172.17.117.2"
     56  ns_ip      : "172.17.117.2/24"
    5757  ns_mac     : "00:15:6d:e8:e7:4a"
    5858  bridge_type: "Bullet2"
     
    7070  dhcp       : False
    7171  compass    : "o"
    72   ns_ip      : "172.16.4.35"
     72  ns_ip      : "172.16.4.35/29"
    7373  ns_mac     : "00:15:6d:f2:39:44"
    7474  bridge_type: "Nanostation5"
  • tools/syntax-checker.py

    r13987 r14025  
    66import gformat
    77import sys
     8import ipaddress
    89
    910from collections import defaultdict
     
    1112__version__ = '$Id$'
    1213
    13 allowed_multi_use = ['0.0.0.0', '192.168.1.', '192.168.178.']
     14allowed_multi_use = map(lambda x: ipaddress.ip_network(x, strict=True), [
     15    u'192.168.0.0/22',
     16    u'192.168.0.0/16',
     17    u'192.168.0.0/24',
     18    u'192.168.1.0/24',
     19    u'192.168.178.0/24',
     20    ])
     21
     22
     23
     24
    1425
    1526def check_double_ip():
     
    1930      print "## Processing host %-25s: " % host,
    2031      datadump = gformat.get_yaml(host,add_version_info=False)
     32      masterip_addr = ipaddress.IPv4Interface(unicode(datadump['masterip']))
     33      masterip_is_used = False
     34
    2135      # Check syntax of defined variables
    2236      _ = gformat.generate_wleiden_yaml(datadump)
     
    2539        iface_keys = [elem for elem in datadump.keys() if (elem.startswith('iface_') and not "lo0" in elem)]
    2640        for iface_key in iface_keys:
    27           # Virtual interfaces bridge interfaces do not have IP addreses
    28           if not datadump[iface_key].has_key('ip'):
     41          # Extra (descriptive entries) are ignored
     42          if '_extra' in iface_key:
    2943            continue
    3044
    31           l = datadump[iface_key]['ip']
    32           addr, mask = l.split('/')
     45          # Process actual and virtual IP (avoiding clashes with nanostation IP)
     46          for entry in ['ip', 'ns_ip']:
     47            if entry in datadump[iface_key]:
     48              addr = ipaddress.IPv4Interface(unicode(datadump[iface_key][entry]))
     49              if masterip_addr in addr.network:
     50                masterip_is_used = True
     51              pool[addr.network].append((host, iface_key, entry, addr))
    3352
    34           pool[addr].append((host, iface_key))
    3553
    36         iface_key = 'masterip'
    37         addr = datadump['masterip']
    3854        # Add masterip to the list if IP has not been defined at interface
    39         if not host in [x[0] for x in pool[addr]]:
    40           pool[addr].append((host, 'masterip'))
     55        if not masterip_is_used:
     56            pool[masterip_addr.network].append((host, 'masterip', '', masterip_addr))
    4157
    4258        print "OK"
     
    4864    sys.exit(1)
    4965
    50   error = False
    51   for addr,leden in pool.iteritems():
    52     if len(leden) > 1:
    53       if not any(map(lambda x: addr.startswith(x), allowed_multi_use)):
    54         print "[ERROR] Multiple usages of IP %s:" % (addr)
    55         for host, key in leden:
    56           print "  - %s - %s" % (host, key)
    57         error = True
     66  errors = 0
     67  keys = sorted(pool.keys(),reverse=True)
    5868
    59   if error:
    60     print "# Errors found"
     69  for i,network in enumerate(keys):
     70    if not network in allowed_multi_use:
     71      for network2 in keys[i+1:]:
     72        if not network2 in allowed_multi_use and network2.overlaps(network):
     73          errors += 1
     74          print "[ERROR#%i] network %s overlaps with %s:" % (errors, network, network2)
     75          for (host, key, entry, addr) in sorted(pool[network] + pool[network2]):
     76            print "  - %-20s - %-20s - %-5s - %s" % (host, key, entry, addr)
     77
     78      leden = sorted(pool[network])
     79      for i,lid in enumerate(leden):
     80        for lid2 in leden[i+1:]:
     81          if lid[3] == lid2[3]:
     82            errors += 1
     83            print "[ERROR#%i] Multiple usages of IP %s:" % (errors, lid[3])
     84            print "  - %-20s - %-20s - %-5s" % (lid[0], lid[1], lid[2])
     85            print "  - %-20s - %-20s - %-5s" % (lid2[0], lid2[1], lid2[2])
     86           
     87  if errors > 0:
     88    print "# %i Errors found" % errors
    6189    return 1
    6290  else:
Note: See TracChangeset for help on using the changeset viewer.