[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Configuring multiple IP addresses on VLAN interface using ifupdown



Steffen Dettmer wrote:
> I'd like to configure multiple IP addresses to a VLAN tagged
> interface. I tried

I am not a vlan expert.  But...

> auto eth3.107
>   iface eth3.77 inet static
>   address 10.0.5.15
>   netmask 255.255.255.0
>   iface eth3.77 inet static
>   address 10.0.5.16
>   netmask 255.255.255.0

Terrible indention!  I think you mean this:

> auto eth3.107
> iface eth3.77 inet static
>   address 10.0.5.15
>   netmask 255.255.255.0
> iface eth3.77 inet static
>   address 10.0.5.16
>   netmask 255.255.255.0

At which time it appears more obvious that while you have an "auto"
line for eth3.107 you do not have one for eth3.77.  Do you mean this?

  auto eth3.77
  iface eth3.77 inet static
    address 10.0.5.15
    netmask 255.255.255.0
  iface eth3.77 inet static
    address 10.0.5.16
    netmask 255.255.255.0

Of course I know nothing about vlan configuration so I am likely wrong
here.  I just know that visually it doesn't match.  However all of the
docs I see just now suggest using a bridge.  Perhaps something like this.

  auto eth0
  allow-hotplug eth0
  iface eth0 inet static
          address 10.0.5.15
          netmask 255.255.255.0
  iface eth0 inet static
          address 10.0.5.16
          netmask 255.255.255.0
  iface eth0.77 inet manual
  auto br0.77
  iface br0.77 inet manual
          bridge_ports eth0.77
          bridge_fd 0
          bridge_maxwait 0

But again, I just did that blind from the online docs.  I am not a
vlan expert.  Feel free to tell me I am wrong and do not know
anything.  :-)

> but I get an error message that ifup tries to configure the VLAN
> interface twice, but the addresses are set.
> 
> When I remove the second "iface eth3.77 inet static" line, which
> should be correct according to my understanding of "man interfaces",
> where it is not forbidding to pass multiple "address" directives in a
> stanza, I get an error about unexpected "address" line and the
> addresses are not set.

Configuring multiple IP addresses on interfaces like that is new in
recent versions of ifupdown.  Whether it works or not depends upon
the version of the program.  Previously it was necessary to use
different tagged interfaces or to use up/down commands to add
additional ip addresses.

> First I thought "ifup" would be a shell script, but apparently
> ifupdown uses source code generation to generate Perl code from some
> "noweb" code and uses the generated Perl code to generate C code which
> then is compiled using a generated Makefile -- all this is not easy to
> read / understand, so I decided to write a mail here hoping someone
> can enlighten me :)

It depends upon the version of ifupdown.  Previously it used a
literate programming technique with TeX embedded documentation and C
code using "notangle" and .nw files.

  apt-cache show noweb
  Description-en: A WEB-like literate-programming tool
   noweb is designed to meet the needs of literate programmers while
   remaining as simple as possible.  Its primary advantages are
   simplicity, extensibility, and language-independence.
   .
   The noweb manual is only 3 pages; an additional page explains how to
   customize its LaTeX output.  noweb works ``out of the box'' with any
   programming language, and supports TeX, latex, and HTML back ends.
   .
   The primary sacrifice relative to WEB is that code is not
   prettyprinted.
  Homepage: http://www.eecs.harvard.edu/~nr/noweb/

Recent versions have been converted to plain C.  The changelog for
version 0.7.44 says:
    * Convert from noweb to plain C

Bob

Attachment: signature.asc
Description: Digital signature


Reply to: