Date: Mon, 7 Jul 2003 14:04:25 -0700 From: James Long <james_mapson@umpquanet.com> To: Dirk-Willem van Gulik <dirkx@webweaving.org> Cc: freebsd-questions@freebsd.org Subject: Re: Symbolic names for (ethernet) interfaces Message-ID: <20030707140425.A30539@ns.museum.rain.com> In-Reply-To: <20030707222807.V47890-100000@foem>; from dirkx@webweaving.org on Mon, Jul 07, 2003 at 10:29:58PM %2B0200 References: <20030707222807.V47890-100000@foem>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 07, 2003 at 10:29:58PM +0200, Dirk-Willem van Gulik wrote: > > How does one specify a 'symbolic' name for an ethernet interface; i.e. be > able to refer to rl0, vx1 or ep0 by a name like 'net0, net1' or 'net2'. > > With net1 et.al. tied to a specific PCI slot or card Mac address. So that > it becomes easier to write HW independed rc.conf or zebra.conf files. Consider this snippet of my rc.conf, wherein I declare my outside interface as symbolic name ${oif} and my inside interface as ${iif}. Where I define iif or oif you might choose to define net0 or net1 instead. oif="dc0" oip="206.29.169.27" omask="255.255.255.0" iif="tl0" iip="206.29.168.233" imask="255.255.255.248" eval ifconfig_${oif}="\"inet ${oip} netmask ${omask}\"" eval ifconfig_${iif}="\"inet ${iip} netmask ${imask}\"" # eval ifconfig_${iif}="\"DHCP\"" Then I can source rc.conf in my firewall script, and say stuff like you see below, and if I ever have to change IPs (or more likely, I clone the script to set up another machine), I just edit rc.conf. #!/usr/local/bin/bash # Suck in the configuration variables oif, oip, iif, iip, imask if [ -f /etc/defaults/rc.conf ]; then echo Reading /etc/defaults/rc.conf . /etc/defaults/rc.conf source_rc_confs fi fw="/sbin/ipfw" # inside network inet="${iip}:${imask}" ... ${fw} add deny log all from 127.0.0.0/8 to any via ${oif} ${fw} add deny log all from 127.0.0.0/8 to any via ${iif} ${fw} add deny log all from any to 127.0.0.0/8 via ${oif} ${fw} add deny log all from any to 127.0.0.0/8 via ${iif} ${fw} add allow all from any to any via lo0 ${fw} add deny log all from ${inet} to any recv ${oif} ${fw} add deny log all from not ${inet} to any recv ${iif} ... # Allow DHCP on internal interface ${fw} add allow udp from any to any 67-68 via ${iif} ########################### # # NAT # ########################### ${fw} add divert natd ip from any to any via ${oif} (etc.)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030707140425.A30539>