Commit graph

44 commits

Author SHA1 Message Date
Mathijs Kwik a502ce1128 networking: add proxy_arp / proxy_ndp options.
proxy_arp (and proxy_ndp for ipv6) can be turned on on a few
interfaces (at least 2).
This is mainly useful for creating pseudo-bridges between a real
interface and a virtual network such as VPN or a virtual machine for
interfaces that don't support real bridging (most wlan interfaces).
As ARP proxying acts slightly above the link-layer, below-ip traffic
isn't bridged, so things like DHCP won't work. The advantage above
using NAT lies in the fact that no IP addresses are shared, so all
hosts are reachable/routeable.
2012-08-29 22:59:36 +02:00
Mathijs Kwik 0dd46d1335 networking: add options for configuring virtual devices (tun/tap)
These are mainly useful for network tunnels (vpn/ipv6) and creating
bridges for virtual machines
2012-08-29 22:59:36 +02:00
Eelco Dolstra 3ce8859551 * Basic module for fail2ban. Not configurable yet. It currently
blocks IP addresses if they make too many failed login attempts.

svn path=/nixos/trunk/; revision=34149
2012-05-17 02:51:24 +00:00
Mathijs Kwik 7d964498b8 changed the way networking-providers plug themselves before "networking"
svn path=/nixos/trunk/; revision=32781
2012-03-04 18:44:47 +00:00
Mathijs Kwik 8bfe513e75 renamed "all-interfaces" to "networking"
svn path=/nixos/trunk/; revision=32780
2012-03-04 18:44:42 +00:00
Mathijs Kwik 77240b46f1 all-interfaces event
many services depend on other services that bring up network interfaces.
Examples are ipv6 tunneling clients or VPNs.

As there are multiple choices for these network-interface-providing services,
it's not nice to hardcore these deps in every service.
This change sets up a generic config option for this purpose.

providers (gw6c/gogoclient/openvpn) can plug into this to signal they bring up
an important interface.

Daemons that need these interfaces, can then depend on the 'all-interfaces' event,
instead of the individual services.

By default, the event fires when network-interfaces completes.

svn path=/nixos/trunk/; revision=32764
2012-03-04 12:58:11 +00:00
Eelco Dolstra a46fd58b3d * Use the networking.useDHCP out of the dhclient module.
svn path=/nixos/trunk/; revision=32428
2012-02-20 14:29:21 +00:00
Eelco Dolstra a218a602d4 * Use openresolv to set the static nameserver configuration. Next
step is to get the DHCP client, OpenVPN etc. to use openresolv as
  well.

svn path=/nixos/trunk/; revision=32411
2012-02-20 00:00:50 +00:00
Lluís Batlle i Rossell 5c6165ef9f Reverting 32228. That was an incomplete change I had in the working directory.
svn path=/nixos/trunk/; revision=32308
2012-02-15 16:46:25 +00:00
Lluís Batlle i Rossell cc1daf97c7 Adding extra options for resolv.conf
svn path=/nixos/trunk/; revision=32228
2012-02-11 21:11:05 +00:00
Peter Simons 32d6a441a5 modules/tasks/network-interfaces.nix: create network bridges with "forward delay" set to zero
This change obsoletes the need to increase the IPv6 "router_solicitations" parameter.

svn path=/nixos/trunk/; revision=29493
2011-09-26 09:41:40 +00:00
Peter Simons eb6e1310b8 strip trailing whitespace; no functional change
svn path=/nixos/trunk/; revision=29285
2011-09-14 18:20:50 +00:00
Eelco Dolstra 59355bafe5 * Initialise bridges before doing the configuration specified in
networking.interfaces and networking.localCommands.

svn path=/nixos/trunk/; revision=27505
2011-06-20 18:12:47 +00:00
Eelco Dolstra 403accc71f * Some hackery to make sure that router solicitations get through
after creating a bridge.
* Ignore errors (set +e) so that we can get rid of all the "|| true"
  clauses.

svn path=/nixos/trunk/; revision=26660
2011-04-01 15:05:42 +00:00
Eelco Dolstra b2d6dfecbc * Add the rdnss daemon.
* Add the ndisc6 package to the system path if IPv6 is enabled.

svn path=/nixos/trunk/; revision=26496
2011-03-24 16:23:28 +00:00
Eelco Dolstra 3cb7a54dba * Added an option `networking.bridges' to allow Ethernet bridges to be
defined.

svn path=/nixos/trunk/; revision=26325
2011-03-15 15:13:48 +00:00
Eelco Dolstra 8ce36ffb3a * Use "ip" instead of "ifconfig" for setting up network interfaces,
since the latter is rather deprecated and has been unmaintained
  since 2001.  Note that "ip" doesn't know about classful addressing,
  so you can no longer get away with not specifying the subnet mask
  for explicitly configured interfaces.  So if you had

    networking.interfaces =
      [ { name = "eth0"; ipAddress = "192.168.1.1"; } ];

  this should be changed to

    networking.interfaces =
      [ { name = "eth0";
          ipAddress = "192.168.1.1";
          subnetMask = "255.255.255.0";
        }
     ];

  otherwise you end up with a subnet mask of 255.255.255.255.

svn path=/nixos/trunk/; revision=26279
2011-03-11 14:50:11 +00:00
Eelco Dolstra 7205c31ea3 * Remove "modprobe af_packet". It's loaded automatically when needed.
svn path=/nixos/trunk/; revision=26277
2011-03-11 13:57:48 +00:00
Eelco Dolstra 843e1f6c1e * Cleanup.
svn path=/nixos/trunk/; revision=26228
2011-03-09 12:28:44 +00:00
Eelco Dolstra f300833ebc * Add iproute to the path used by networking.localCommands.
svn path=/nixos/trunk/; revision=26222
2011-03-09 11:48:29 +00:00
Eelco Dolstra 9f755eb3a4 * Enable IPv6 support by default. (Note that most NixOS systems
already had the ipv6 kernel module loaded, because dhclient needs
  it.)

svn path=/nixos/trunk/; revision=26034
2011-02-19 17:21:29 +00:00
Evgeny Egorochkin 2224d78b33 network-interfaces: MAC address support take 2: now it seems to work
svn path=/nixos/trunk/; revision=24847
2010-11-24 22:58:53 +00:00
Evgeny Egorochkin 72422d4126 network-interfaces: support changing MAC addresses of interfaces
svn path=/nixos/trunk/; revision=24846
2010-11-24 22:58:48 +00:00
Evgeny Egorochkin 50d8698fd8 network-interfaces: cleanup
svn path=/nixos/trunk/; revision=24845
2010-11-24 22:58:42 +00:00
Eelco Dolstra 5b3fd663ed * Don't set hostname to "", dhclient no longer needs it.
svn path=/nixos/trunk/; revision=23783
2010-09-14 11:58:55 +00:00
Eelco Dolstra f729f12e4e Some cleanups in the activation script:
* Moved some scriptlets to the appropriate modules.
* Put the scriptlet that sets the default path at the start, since it
  never makes sense not to have it there.  It no longer needs to be
  declared as a dependency.
* If a scriptlet has no dependencies, it can be denoted as a plain
  string (i.e., `noDepEntry' is not needed anymore).

svn path=/nixos/trunk/; revision=23762
2010-09-13 15:41:38 +00:00
Eelco Dolstra d0342b4cf5 * The network-interfaces' task should wait until udevtrigger' has
finished, because it loads the kernel modules for the network
  devices.

svn path=/nixos/trunk/; revision=22492
2010-07-06 11:03:23 +00:00
Eelco Dolstra 5316059442 * Revert an unintended commit.
svn path=/nixos/trunk/; revision=22145
2010-06-04 14:00:56 +00:00
Eelco Dolstra 7f41d2bb86 svn path=/nixos/trunk/; revision=22126 2010-06-03 14:32:23 +00:00
Eelco Dolstra c089738bdc * Use the shadow' package instead of pwdutils', `pam_login' and
`su'.
* The `usermod' from `shadow' allows setting a supplementary group
  equal to the user's primary group, so the special hack for the
  `nixbld' group is no longer needed.
* Removed /etc/default/passwd since it's not used by the new passwd.
  The hash is configured in pam_unix.
* Move some values for `security.setuidPrograms' and
  `security.pam.services' to the appropriate modules.

svn path=/nixos/trunk/; revision=22107
2010-06-02 21:10:48 +00:00
Eelco Dolstra fa183e5472 * Expose networking.interfaces as an attribute set keyed on the
interface name through the derived option networking.ifaces.  This
  makes it easier to get information about specific interfaces
  (e.g. `nodes.router.config.networking.ifaces.eth2.ipAddress').
  Really networking.interfaces should be an attribute set.

svn path=/nixos/trunk/; revision=21938
2010-05-21 14:12:03 +00:00
Eelco Dolstra 8874226fa3 * Add rfkill to the system path.
svn path=/nixos/trunk/; revision=21201
2010-04-21 11:37:52 +00:00
Lluís Batlle i Rossell 8d5037ad62 network-interfaces and emitting ip-up: I was still learning boolean logic.
svn path=/nixos/trunk/; revision=19464
2010-01-15 11:20:57 +00:00
Lluís Batlle i Rossell b5ade01199 Make network-interfaces emit the ip-up if there are interfaces defined *OR*
there are localCommands (which potentially can bring up interfaces).


svn path=/nixos/trunk/; revision=19371
2010-01-12 11:08:27 +00:00
Eelco Dolstra d545d08461 * In the network-interfaces task, emit an ip-up event if there is a
statically configured interface (i.e. we're not running dhclient).
  Otherwise the ntpd job won't be triggered.
* Use the "-n" flag of "initctl emit" to send the event
  asynchronously.

svn path=/nixos/branches/upstart-0.6/; revision=18227
2009-11-06 21:38:40 +00:00
Eelco Dolstra 9fa2f12cc2 * Do some more jobs.
svn path=/nixos/branches/upstart-0.6/; revision=18212
2009-11-06 15:46:56 +00:00
Eelco Dolstra eba8f94069 * jobAttrs -> jobs.
svn path=/nixos/trunk/; revision=17769
2009-10-12 18:09:34 +00:00
Eelco Dolstra d982f23f20 * Convert the remaining jobs to jobAttrs style.
svn path=/nixos/trunk/; revision=17764
2009-10-12 17:27:57 +00:00
Eelco Dolstra e91d882a94 * Converted modules that were still using the old (concrete syntax)
style of declaring Upstart jobs.  While at it, converted them to the
  current NixOS module style and improved some option descriptions.
  Hopefully I didn't break too much :-)

svn path=/nixos/trunk/; revision=17761
2009-10-12 16:36:19 +00:00
Eelco Dolstra fdab662659 * Add iproute to the system path. It was a dependency of dhclient
already anyway.

svn path=/nixos/trunk/; revision=17512
2009-09-29 15:43:52 +00:00
Eelco Dolstra b58682401e * Give a type to networking.interfaces.
* Simplified the pre-start script of the network-interfaces module.
* Removed wireless support from the network-interfaces module.  It
  only worked for static WEP configurations anyway, and AFAIK nobody
  used it.

svn path=/nixos/branches/modular-nixos/; revision=16406
2009-07-16 17:18:54 +00:00
Eelco Dolstra 9704472d1c Some hacks to support clean shutdowns of VMs that mount the Nix store
ove QEMU (and other NixOS instances that use a remote filesystem like
NFS):

* Don't take down the network interfaces during shutdown.
* Don't try to unmount the Nix store.  Usually, this doesn't work
  because it's still in use, but on remote filesystems like CIFS the
  `-f' umount flag actually works.

svn path=/nixos/branches/modular-nixos/; revision=16036
2009-06-24 13:33:03 +00:00
Eelco Dolstra c6c9304b95 * system/options.nix: gone :-)
svn path=/nixos/branches/modular-nixos/; revision=15772
2009-05-28 16:03:48 +00:00
Eelco Dolstra fc9111fadf * Move various system initialisation tasks (e.g. mounting filesystems,
initialising network interfaces, etc.) to modules/tasks.  This
  follows the Upstart terminology: a service is a job that doesn't
  usually terminate (e.g. a daemon), while a task is a job that does
  some work and then exits.

svn path=/nixos/branches/modular-nixos/; revision=15771
2009-05-28 15:03:05 +00:00
Renamed from upstart-jobs/network-interfaces.nix (Browse further)