Mailing List Archive

New setup questions on Solaris
I'm setting up wackamole for evaluation for the first time.
Environment: Solaris 9, spread 3.17.2rc3, wackamole 2.0.0

I have two machines with spread set up on them, and they are sending messages
between each other just fine.
|Received Token
|new: reusing pointer 0x135690 to object type 35 named time_event
|dispose: disposing pointer 0x135668 to object type 35 named time_event
|dispose: disposing pointer 0x1327f0 to object type 8 named token_head_obj
|new: reusing pointer 0x1327f0 to object type 8 named token_head_obj

wackamole seems to be getting a segfault or busfault when it starts up:
- Clean_up called
- Dequeued arp spoof notifier.
- Dequeued arp spoof notifier.
- SP_connect: connected with private group(17 bytes): #wack23007#dns-h1
-
- Adding: (bge0) ...
- ...
- Adding: (bge0) 224.0.0.0 [01:00:5e:00:00:00]
- Sending 3 local arp entries
- Adding: (bge0) ...
- ...
- Adding: (bge0) 224.0.0.0 [01:00:5e:00:00:00]
- Sending 33 local arp entries
- Sig_handler called
- SIGBUS Detected!
- Clean_up called
- Dequeued arp spoof notifier.

Then the process just sits there.

Has anyone gotten wackamole working on Sol8/Sol9?

--
Don Eisele, KSU CNS Senior UNIX Systems Administrator -- eisele@ksu.edu
785-532-4907
New setup questions on Solaris [ In reply to ]
--J/dobhs11T7y2rNN
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Here's some more stuff:
From gdb:
Program received signal SIGSEGV, Segmentation fault.
0xff146954 in _malloc_unlocked () from /lib/libc.so.1
(gdb) bt full
#0 0xff146954 in _malloc_unlocked () from /lib/libc.so.1
No symbol table info available.
#1 0xff1467bc in malloc () from /lib/libc.so.1
No symbol table info available.
#2 0x00017e30 in new_abt () at abt.c:40
No locals.

also attached are the two .conf files

On Tue, Apr 13, 2004 at 01:58:48PM -0500, Don Eisele did say:
>I'm setting up wackamole for evaluation for the first time.
>Environment: Solaris 9, spread 3.17.2rc3, wackamole 2.0.0
>
>I have two machines with spread set up on them, and they are sending messages
>between each other just fine.
>|Received Token
>|new: reusing pointer 0x135690 to object type 35 named time_event
>|dispose: disposing pointer 0x135668 to object type 35 named time_event
>|dispose: disposing pointer 0x1327f0 to object type 8 named token_head_obj
>|new: reusing pointer 0x1327f0 to object type 8 named token_head_obj
>
>wackamole seems to be getting a segfault or busfault when it starts up:
>- Clean_up called
>- Dequeued arp spoof notifier.
>- Dequeued arp spoof notifier.
>- SP_connect: connected with private group(17 bytes): #wack23007#dns-h1
>-
>- Adding: (bge0) ...
>- ...
>- Adding: (bge0) 224.0.0.0 [01:00:5e:00:00:00]
>- Sending 3 local arp entries
>- Adding: (bge0) ...
>- ...
>- Adding: (bge0) 224.0.0.0 [01:00:5e:00:00:00]
>- Sending 33 local arp entries
>- Sig_handler called
>- SIGBUS Detected!
>- Clean_up called
>- Dequeued arp spoof notifier.
>
>Then the process just sits there.
>
>Has anyone gotten wackamole working on Sol8/Sol9?
>
>--
>Don Eisele, KSU CNS Senior UNIX Systems Administrator -- eisele@ksu.edu
>785-532-4907
>
>_______________________________________________
>wackamole-users mailing list
>wackamole-users@lists.backhand.org
>http://lists.backhand.org/mailman/listinfo/wackamole-users

--
Don Eisele, KSU CNS Senior UNIX Systems Administrator -- eisele@ksu.edu
785-532-4907

--J/dobhs11T7y2rNN
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="wackamole.conf"

# The Spread daemon we are going to connect to. It should be on the local box
Spread = 4803
SpreadRetryInterval = 5s
# The group name
Group = wack1
# Named socket for online control
Control = /var/run/wack.it

# Denote the interface we prefer to have
#prefer eth0:10.3.4.5/8
#prefer { eth0:10.2.3.4/8 eth1:192.168.10.23/24 }

# In most cases, I just don't care. Let wackamole decide.
Prefer None

# List all the virtual interfaces (ALL of them)
VirtualInterfaces {
# The following two lines have the same effect
# en0:192.168.1.2/24
#{ en0:192.168.1.2/24 }
# This is how you say 2 or more IPs are to be treated as a single
# "set" or "virtual interface". If wackamole decides that this
# machine will manage it, you are ensured to get ALL the ips in the
# set.
#{ en1:10.0.0.1/8 en0:192.168.35.64/26 }
bge0:129.130.12.162/32
bge0:129.130.12.163/32
}

# Collect and broadcast the IPs in our ARP table every so often
Arp-Cache = 90s

# List who we will notify
# Here the netblock (/24 or /28) can be deceptive. It is NOT a netmask
# for a single IP. It is how one will describe that they want to
# notify ALL IPs in a segment.
Notify {
# Let's notify our router:
#en0:192.168.10.1/32
bge0:129.130.12.240/32
# Notify out DNS servers
#en1:10.0.0.10/32
#en1:10.0.0.11/32
# 10.0.0.0 -> 10.0.0.255, but only 128 notifications/sec
#en0:10.0.0.0/24 throttle 128
bge0:129.130.12.0/24 throttle 128
# Wackamole shares arp-cache across machines, this says to
# notify every IP address in the aggregate shared arp-cache.
arp-cache
}
balance {
# This field is the maximum number of IP addresses that will move
# from one wackamole to another during a round of balancing.
AcquisitionsPerRound = all
# Time interval in each balancing round.
interval = 4s
}
# How long it takes us to mature
mature = 5s

--J/dobhs11T7y2rNN
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="spread.conf"

# Blank lines are permitted in this file.
# spread.conf sample file
#
# questions to spread@spread.org
#

#MINIMAL REQUIRED FILE
#
# Spread should work fine on one machine with just the uncommented
# lines below. The rest of the file documents all the options and
# more complex network setups.
#
# This configures one spread daemon running on port 4803 on localhost.

#Spread_Segment 127.0.0.255:4803 {
# localhost 127.0.0.1
#}




# Spread options
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
#Set what internal Spread events are logged to the screen or file
# (see EventLogFile).
# Default setting is to enable PRINT and EXIT events only.
#The PRINT and EXIT types should always be enabled. The names of others are:
# EXIT PRINT DEBUG DATA_LINK NETWORK PROTOCOL SESSION
# CONFIGURATION MEMBERSHIP FLOW_CONTROL STATUS EVENTS
# GROUPS MEMORY SKIPLIST ALL NONE
# ALL and NONE are special and represent either enabling every type
# or enabling none of them.
# You can also use a "!" sign to negate a type,
# so { ALL !DATA_LINK } means log all events except data_link ones.

DebugFlags = { PRINT EXIT ALL !DATA_LINK !EVENTS !MEMORY !NETWORK }

#Set whether to log to a file as opposed to stdout/stderr and what
# file to log to.
# Default is to log to stdout.
#
#If option is not set then logging is to stdout.
#If option is set then logging is to the filename specified.
# The filename can include a %h or %H escape that will be replaced at runtime
# by the hostname of the machine upon which the daemon is running.
# For example "EventLogFile = spreadlog_%h.log" with 2 machines
# running Spread (machine1.mydomain.com and machine2.mydomain.com) will
# cause the daemons to log to "spreadlog_machine1.mydomain.com.log" and
# "spreadlog_machine2.mydomain.com.log" respectively.

#EventLogFile = testlog.out

#Set whether to add a timestamp in front of all logged events or not.
# Default is no timestamps. Default format is "[%a %d %b %Y %H:%M:%S]".
#If option is commented out then no timestamp is added.
#If option is enabled then a timestamp is added with the default format
#If option is enabled and set equal to a string, then that string is used
# as the format string for the timestamp. The string must be a valid time
# format string as used by the strftime() function.

#EventTimeStamp
# or
#EventTimeStamp = "[%a %d %b %Y %H:%M:%S]"

#Set whether to allow dangerous monitor commands
# like "partition, flow_control, or kill"
# Default setting is FALSE.
#If option is set to false then only "safe" monitor commands are allowed
# (such as requesting a status update).
#If option is set to true then all monitor commands are enabled.
# THIS IS A SECURTIY RISK IF YOUR NETWORK IS NOT PROTECTED!

#DangerousMonitor = false

#Set handling of SO_REUSEADDR socket option for the daemon's TCP
# listener. This is useful for facilitating quick daemon restarts (OSes
# often hold onto the interface/port combination for a short period of time
# after daemon shut down).
#
# AUTO - Active when bound to specific interfaces (default).
# ON - Always active, regardless of interface.
# SECURITY RISK FOR ANY OS WHICH ALLOW DOUBLE BINDS BY DIFFERENT USERS
# OFF - Always off.

#SocketPortReuse = AUTO

#Sets the runtime directory used when the Spread daemon is run as root
# as the directory to chroot to. Defaults to the value of the
# compile-time preprocessor define SP_RUNTIME_DIR, which is generally
# "/var/run/spread".

#RuntimeDir = /var/run/spread

#Sets the unix user that the Spread daemon runs as (when launched as
# the "root" user). Not effective on a Windows system. Defaults to
# the user and group "spread".

#DaemonUser = spread
#DaemonGroup = spread


#Set the list of authentication methods that the daemon will allow
# and those which are required in all cases.
# All of the methods listed in "RequiredAuthMethods" will be checked,
# irregardless of what methods the client chooses.
# Of the methods listed is "AllowedAuthMethods" the client is
# permitted to choose one or more, and all the ones the client chooses
# will also be checked.
#
# To support older clients, if NULL is enabled, then older clients can
# connect without any authentication. Any methods which do not require
# any interaction with the client (such as IP) can also be enabled
# for older clients. If you enable methods that require interaction,
# then essentially all older clients will be locked out.
#
#The current choices are:
# NULL for default, allow anyone authentication
# IP for IP based checks using the spread.access_ip file

#RequiredAuthMethods = " "
#AllowedAuthMethods = "NULL"

#Set the current access control policy.
# This is only needed if you want to establish a customized policy.
# The default policy is to allow any actions by authenticated clients.
#AccessControlPolicy = "PERMIT"


# network description line.
# Spread_Segment <multicast address for subnet> <port> {
# port is optional, if not specified the default 4803 port is used.

#Spread_Segment 127.0.0.255:4803 {

# either a name or IP address. If both are given, than the name is taken
# as-is, and the IP address is used for that name.

# localhost 127.0.0.1
#}
# repeat for next sub-network

Spread_Segment 129.130.12.255:4803 {
dns-h1 129.130.12.160
dns-h2 129.130.12.161
}

#Spread_Segment x.2.2.255 {

# other1 128.2.2.10
# 128.2.2.11
# other3.my.com
#}
# Spread will feel free to use broadcast messages within a sub-network.
# if you do not want this to happen, you should specify your machines on
# different logical sub-networks.

# IP-Multicast addresses can also be used as the multicast address for
# the logical sub-network as in this example. If IP-multicast is supported
# by the operating system, then the messages will only be received
# by those machines who are in the group and not by all others in the same
# sub-network as happens with broadcast addresses

#Spread_Segment 225.0.1.1:3333 {
# mcast1 1.2.3.4
# mcast2 1.2.3.6
#}

# Multi-homed host setup
#
# If you run Spread on hosts with multiple interfaces you may want to
# control which interfaces Spread uses for client connections and for
# the daemon-to-daemon (and monitor control) messages. This can be done
# by adding an extra stanza to each configured machine.
#
#Sample:
#
#Spread_Segment 225.0.1.1 {
# multihomed1 1.2.3.4 {
# D 192.168.0.4
# C 1.2.3.4 }
# multihomed2 1.2.3.5 {
# D 192.168.0.5
# C 1.2.3.5
# C 127.0.0.1 }
# multihomed3 1.2.3.6 {
# 192.168.0.6
# 1.2.3.6 }
#}
# This configuration sets up three multihomed machines into a Spread segment.
# The first host has a 'main' IP address of 1.2.3.4 and listens for client
# connections only on that interface. All daemon-to-daemon UDP multicasts and
# the tokens and any monitor messages must use the 192.168.0.4 interface.
# The second host multihomed2 has a similar setup, except it also listens for
# client connections on the localhost interface as well as the 1.2.3.5 interface.
# If you make any use of the extra interface stanza ( a { } block ) then you must
# explicitly configure ALL interfaces you want as Spread removes all defaults when
# you use the explicit notation.
# The third multihomed3 host uses a shorthand form of omitting the D or C option and
# just listening for all types of traffic and events on both the 192.168.0 and 1.2.3
# networks. If no letter is listed before the interface address then ALL types of
# events are handled on that interface.

--J/dobhs11T7y2rNN--