home *** CD-ROM | disk | FTP | other *** search
- NET_ALIAS device aliasing v0.4x
- ===============================
- The main step taken in versions 0.40+ is the implementation of a
- device aliasing mechanism that creates *actual* devices.
- This development includes NET_ALIAS (generic aliasing) plus IP_ALIAS
- (specific IP) support.
-
- Features
- --------
- o ACTUAL alias devices created & inserted in dev chain
- o AF_ independent: net_alias_type objects. Generic aliasing engine.
- o AF_INET optimized
- o hashed alias address lookup
- o net_alias_type objs registration/unreg., module-ables.
- o /proc/net/aliases & /proc/net/alias_types entries
-
- o IP alias implementation: static or runtime module.
-
- Usage (IP aliasing)
- -------------------
- A very first step to test if you are running a net_alias-ed kernel
- is to check /proc/net/aliases & /proc/net/alias_types entries:
- # cat /proc/net/alias*
-
- For IP aliasing you must have IP_ALIAS support included by
- static linking ('y' to 2nd question above), or runtime module
- insertion ('m' to 2nd q. above):
- # insmod /usr/src/linux/modules/ip_alias.o (1.3.xx)
- # insmod /usr/src/ip_alias/ip_alias.o (1.2.xx) see above.
-
- o Alias creation.
- Alias creation is done by 'magic' iface naming: eg. to create a
- 200.1.1.1 alias for eth0 ...
-
- # ifconfig eth0:0 200.1.1.1 etc,etc....
- ~~ -> request alias #0 creation (if it not exists) for eth0
- and routing stuff also ...
- # route add -host 200.1.1.1 dev eth0:0 (if same IP network as
- main device)
-
- # route add -net 200.1.1.0 dev eth0:0 (if completely new network wanted
- for eth0:0)
-
- o Alias deletion.
- Also done by magic naming, eg:
-
- # ifconfig eth0:0- 0 (maybe any address)
- ~~~ -> will delete alias (note '-' after dev name)
- alias device is closed before deletion, so all network stuff that
- points to it (routes, arp entries, ...) will be released.
-
- Alias (re-)configuring
- Aliases *are* devices, so you configure and refer to them as usual (ifconfig,
- route, etc).
-
- o Procfs entries
- 2 entries are added to help fetching alias runtime configuration:
- a) /proc/net/alias_types
- Will show you alias_types registered (ie. address families that
- can be aliased).
- eg. for IP aliasing with 1 alias configured:
-
- # cat /proc/net/alias_types
- type name n_attach
- 2 ip 1
-
- b) /proc/net/aliases
- Will show aliased devices info, eg (same as above):
-
- # cat /proc/net/aliases
- device family address
- eth0:0 2 200.1.1.1
-
- Relationship with main device
- -----------------------------
- - On main device closing, all aliases will be closed and freed.
- - Each new alias created is inserted in dev_chain just before next
- main device (aliases get 'stacked' after main_dev), eg:
- lo->eth0->eth0:0->eth0:2->eth1->0
- If eth0 is unregistered, all it aliases will also be:
- lo->eth1->0
-
- Contact
- -------
- Please finger or e-mail me:
- Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>
-
-
- ; local variables:
- ; mode: indented-text
- ; mode: auto-fill
- ; end:
-