-
Fototrend

Új hozzászólás Aktív témák
-
jerry311
nagyúr
válasz
jerry311
#14281
üzenetére
Problem solved.
Nyilván user error, meg a faszom abba aki elnevezgeti a Ruby gem-eket.Van egy gem, aminek a neve '
ip', és egy másik, aminek a neve 'ruby-ip'.
Csak hogy jó legyen, mindkettőt a 'require "ip"' sorral lehet "meghívni".
Nyilván nem az volt telepítve, amelyikre a kódnak szüksége volt. Ezt javítva, működik ahogy kell. -
jerry311
nagyúr
hi,
Kis segítséget szeretnék, mert én lettem a kijelölt szopóroller tologató elvtárs.
Adott egy Ruby script, amit egy ex-kolléga írt ezer éve, és futott egy szerveren ősrégi Ruby-val. IT közölte, hogy új masinára kell költöztetni. Nyilván nem megy egyszerűen, tippelem voltak változások Rub oldalon, ami miatt nem megy a régi kód az új telepítésen. Ebben kérnék segítséget...
PlizA hiba:
Polling information from the NAT-R1 . . .Traceback (most recent call last):6: from /opt/scripts/snf.rb:35:in `<main>'5: from /var/lib/gems/2.5.0/gems/snmp-1.3.2/lib/snmp/manager.rb:442:in `walk'4: from /var/lib/gems/2.5.0/gems/snmp-1.3.2/lib/snmp/manager.rb:442:in `loop'3: from /var/lib/gems/2.5.0/gems/snmp-1.3.2/lib/snmp/manager.rb:457:in `block in walk'2: from /opt/scripts/snf.rb:59:in `block in <main>'1: from /opt/scripts/snf.rb:59:in `new'/opt/scripts/snf.rb:59:in `initialize': wrong number of arguments (given 1, expected 0) (ArgumentError)A kód:
#=====================================================================# ! To Whom it may concern !# ------------------------------------# I'm apologizing for this badly written script.# I know it is alwfull and definatly not optimized, but given# the 20 min that I had to write it in and the fact that# it works perfectly I've not bother to spend more time on it.## What it does?# At the begining the script is asking for number of hosts,# after which polls,via SNMP, ROUTER1 and ROUTER2 for all routes that# are in their routing table. It filters all routes that start# with 10.0 and calculate all free 10.0.x.x subnets which can# fit the number of hosts specified in the begining##======================================================================require "ip"require "snmp"#starting variablesbase_subnet = "10.0.0.0/17"nat_r1_ip = "10.0.0.8"nat_router_community = "snmpcommunity"#preperationroutes = Array.new()manager_r1 = SNMP::Manager.new(:host=> nat_r1_ip, :community => nat_router_community)#manager_r2 = SNMP::Manager.new(:host=> nat_r2_ip, :community => nat_router_community)#Get all routes starting with 10.0. from the NAT routerputs "Polling information from the ROUTER1 . . . "manager_r1.walk(["1.3.6.1.2.1.4.24.4.1.1", "1.3.6.1.2.1.4.24.4.1.2"]) do |net, mask|if /10\.0\./.match(net.value.to_s)ip_string=""case mask.value.to_swhen "255.255.255.255" then ip_string=net.value.to_s+"/"+"32"when "255.255.255.254" then ip_string=net.value.to_s+"/"+"31"when "255.255.255.252" then ip_string=net.value.to_s+"/"+"30"when "255.255.255.248" then ip_string=net.value.to_s+"/"+"29"when "255.255.255.240" then ip_string=net.value.to_s+"/"+"28"when "255.255.255.224" then ip_string=net.value.to_s+"/"+"27"when "255.255.255.192" then ip_string=net.value.to_s+"/"+"26"when "255.255.255.128" then ip_string=net.value.to_s+"/"+"25"when "255.255.255.0" then ip_string=net.value.to_s+"/"+"24"when "255.255.254.0" then ip_string=net.value.to_s+"/"+"23"when "255.255.252.0" then ip_string=net.value.to_s+"/"+"22"when "255.255.248.0" then ip_string=net.value.to_s+"/"+"21"when "255.255.240.0" then ip_string=net.value.to_s+"/"+"20"when "255.255.224.0" then ip_string=net.value.to_s+"/"+"19"when "255.255.192.0" then ip_string=net.value.to_s+"/"+"18"when "255.255.128.0" then ip_string=net.value.to_s+"/"+"17"when "255.255.0.0" then ip_string=net.value.to_s+"/"+"16"else ip_string="0.0.0.0/0"endunless /10\.0\.0\./.match(net.value.to_s)routes.push(IP.new(ip_string))endendend#Additional routes that should not be used aka EXEPTIONSroutes.push(IP.new("10.0.0.0/24"))routes.push(IP.new("10.0.1.0/24"))class NetworkHandlerdef self.find_free_networks(base_subnet,used_subnets,hosts)#initializing helper variablesfree_networks = Array.new()if hosts>2possible_subnets = base_subnet.divide_by_hosts(hosts-2)elsepossible_subnets = base_subnet.divide_by_hosts(hosts)end#iteratingpossible_subnets.each do |subnet|not_matched=0used_subnets.each do |used_subnet|if subnet.is_in?(used_subnet)breakelseif used_subnet.is_in?(subnet)breakelsenot_matched+=1endendendif not_matched == used_subnets.countfree_networks.push(subnet)endendreturn free_networksendendprint "Specify the host count? "hosts_count = gets.chompputs "Calculating the subnets . . . "puts NetworkHandler.find_free_networks(IP.new(base_subnet),routes,hosts_count.to_i)
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Diablo IV
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Világrekordot ünnepel az ASRock
- Okos Otthon / Smart Home
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Fejhallgató erősítő és DAC topik
- Mazda topik
- ASUS notebook topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Anime filmek és sorozatok
- További aktív témák...
- HIBÁTLAN iPhone 15 Plus 128GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4531,90% Akksi
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
- Apple iPhone 13 256GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3293
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


