SILC Server FAQ
 
 
1. SILC Server Questions
1.1 Where can I find SILC servers?
1.2 Can I run my own SILC server?
1.3 What is the difference between SILC server and SILC router?
1.1.Why server says permission denied to write to a log file?
1.5 When I start my server, it says "Dynamic module support not compiled, can't load modules!", what is wrong?
1.6 Why SILC server runs on privileged port 706?
1.7 I see [Unknown] in the log file, what does it mean?
1.8 How can I generate a new server key pair?
1.9 What does error 'Server ID is not valid' mean?



1. SILC Server Questions
 
Q: Where can I find SILC servers?
A: The SILC server is available for free download from the silcnet.org web page. We are not aware of any other SILC server implementations, so far.
 
Q: Can I run my own SILC server?
A: Yes of course. Download the SILC server package, compile and install it. Be sure to check out the installation instructions and the README file. You also should decide whether you want to run SILC server or SILC router.
 
Q: What is the difference between SILC server and SILC router?
A: The topology of the SILC network includes SILC routers and the SILC servers (and SILC clients of course). Normal SILC server does not have direct connections with other SILC servers. They connect directly to the SILC router. SILC Routers may have several server connections and they may connect to several SILC routers. The SILC routers are the servers in the network that know everything about everything. The SILC servers know only local information and query global information from the router when necessary.
 
If you are running SILC server you want to run it as router only if you want to have server connections in it and are prepared to accept server connections. You also need to get the router connected to some other router to be able to join the SILC network. You may run the server as normal SILC server if you do not want to accept other server connections or cannot run it as router.
 
Q: Why server says permission denied to write to a log file?
A: The owner of the log files must be same user that the server is run under, by default it is user `nobody'. Just change the permissions and try again.
 
Q: When I start my server, it says "Dynamic module support not compiled, can't load modules!", what is wrong?
A: Most likely the ciphers and others has not been compiled as SIMs (modules) and they are configured as modules in the silcd.conf. This usually happens on *BSD systems where SIMs are not built. If they are not compiled as modules leave module_path variable empty in your silcd.conf, so that the server uses the builtin ciphers. Then try to start the server again.
 
Q: Why SILC server runs on privileged port 706?
A: Ports 706/tcp and 706/udp have been assigned for the SILC protocol by IANA. Server on the network listening above privileged ports (>1023) SHOULD NOT be trusted as it could have been set up by untrusted party. The server normally drops root privileges after startup and then run as user previously defined in silcd.conf.
 
Q: I see [Unknown] in the log file, what does it mean?
A: You can see in the log file for example: [Info] Closing connection 192.168.78.139:3211.[Unknown]. The [Unknown] means that the connection was not authenticated yet, and it is not known whether the connection was a client, server or router. There will appear [Client], [Server] or [Router] if the connection is authenticated at that point.
 
Q: How can I generate a new server key pair?
A: You can generate a new key pair using the silcd command with the -C option. When SILC Server is installed a key pair is generated automatically for you. However, it is suggested that you check the information found in that key and generate a new key pair if the information is incorrect. You can check the information of your public key by giving command: silc -S file.pub.
 
If you want to generate a new key pair then you can give for example command: silcd -C . --identifier="UN=silc-oper, HN=silc.silcnet.org, RN=SILC Router Admin, E=silc-oper@silcnet.org, O=SILC Project, C=SK". This will create the key pair to current directory, with the specified identifier. Please, give the --help option to the silcd to see usage help for the -C and --identifier options.
 
Q: What does error 'Server ID is not valid' mean?
A: When connecting server to a router this error may come if the IP address that was configured to the server's silcd.conf is not the IP address that was used to connect to the router. This may happen for example, if there are multiple network interfaces in the machine, or the machine is behind a NAT device. The IP address configured to the silcd.conf must be the same IP address that is used to connect to the remote router. If you have multiple network interfaces in the machine, check your routing table to see what interface is used to connect to the remote router.