wiki:UsersGuide/Networking

Version 10 (modified by Jiri Svoboda, 11 years ago) ( diff )

SLIP configuration

Networking in HelenOS

Introduction

HelenOS supports TCP/IP networking with IPv4. TCP, UDP, ICMP protocols are supported. Various real and emulated Ethernet network adapters can be used (see below). One usability limitation is that DNS name resolution and DHCP are not implemented yet.

Setting up real hardware

Make sure you have a supported network adapter, otherwise no special setup is necessary. Supported network adapters:

  • NE 2000 (ISA) - compatible
  • Intel PRO/1000 (1 Gbit)
  • Realtek RTL8139 (100 Mbit)

Setting up virtual hardware

Network configuration

As of now, network can be configure only manually using the inet command.

Manual network configuration

Manual network configuration is quite easy. You can always check the current setting via the inet command without arguments:

/ # inet
Configured addresses:
    [Addr/Width] [Link-Name] [Addr-Name] [Def-MTU]
    127.0.0.1/24 net/loopback v4a 1500
Static routes:
    None

Let's check the available IP links:

/ # loc show-cat iplink
iplink:
       net/loopback : loopip
       net/eth1 : ethip

net/eth1 is one of the available links, in this case the first discovered Ethernet adapter. Now, let's assume you want to configure net/eth1 to have address 192.168.1.4. This is simply achieved by typing:

/ # inet create 192.168.1.4/24 net/eth1 myaddr

myaddr is a user-defined name given to the configured address. It is used to identify the address to other inet commands.

You may also want to configure the default gateway for your networked HelenOS system. Provided the gateway is at 192.168.1.1, type:

/ # inet add-sr 0.0.0.0/0 192.168.1.1 default

Your HelenOS system is now configured for networking. Note that inet understands also other commands that you can use to fix any potential problems with the configuration. To see the complete list, just type:

/ # inet -h

DNS configuration

(only in Bazaar mainline)

To use DNS name resolution, set the IP address of your DNS server using the command

dnscfg set-ns <server-address>

To verify your configuration works use dnsres.

SLIP configuration

(only in Bazaar mainline)

To connect to another host using the SLIP protocol via a serial line

slip <serial-port-service> <link-name>

where serial-port-device is the location service name for the serial port (e.g. devices/\hw\pci0\00:01.0\com1\a and link-name is the name you want to give to the IP link (e.g. net/slip0).

Network utilities

Dnsres

dnsres <host-name>

Prints the specified host name, the canonical name of the host (only if host-name is an alias) and IP address of the host.

Ping

ping [-r] <host>

The ping command sends an ICMP Echo message to the specified host or IP address and displays the response (or timeout message). With the -r option it repeatedly sends the Echo message every second, until you terminate it with Ctrl-Q.

Nterm

nterm <host> <port>

Connects to a socket via TCP and emulates a dumb terminal, similar to e.g. Netcat. This can be used for debugging (e.g. connect to an HTTP or FTP server, connect to netecho) or to connect to remcons in another HelenOS instance.

Network services

Web server (websrv)

/app/websrv is a trivial web server which serves the contents of the /data/web directory. You need to start it manually from the command line. By default it listens on port 8080 or you can change this by starting it with the -p <port> option.

Telnet server (remcons)

Is a telnet-like server. It is started automatically and listens on port 2223 and allows you to connect to the system from outside (e.g. from UN*X using the telnet command). It does not actually implement any Telnet protocol features (it just pipes the data through). It can only input and output text data, so pseudo-graphical applications (Tetris, Editor) and special keys won't work.

Note: See TracWiki for help on using the wiki.