Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

All Mac Pros / XServes have 2 gigabit wired NICs. It has always annoyed me that a: there is no way to bridge them (no BRCTL, et al. for Mac), and b: there is no way to "use" the second port, even internally, without a physically connected ethernet cable AND an active link at the other end!!

I would like to be able to use that "port" for internal DNS servers, VMWare guests, or whatever I damn well please.. without having to 1: find an ethernet cord, 2: a powered ethernet jack to plug the cord into, and 3: a powered jack that belongs to a device that won't be flooding the line with packets unrelated to what I'm trying to do.

  • No combination of "sudo ifconfig en1 up" gets it done.
  • I have looked through all the PMSET rules, and nothing applies to the ethernet power besides WOLP or whatever the wake-on-lan thing is called...
  • I have slogged through the labryntine, and poorly documented SYSCTL options, with no apparent solution there.
  • I have tried tricking it with various static IP assignments /VLAN configurations /duplicate adapters, to no avail.
  • Googled it extensively. Plenty of ways to turn off ethernet when switching to airport, etc, but not this.

This is either a case of the hardware driver attempting to save power, or Apple willfully discouraging any creative uses of the hardware (which is why they virtually prohibit bridging at the kernel level (to maintain their router sales)), and I don't like it. Any idea how to force that sucker on?

share|improve this question
    
What do you mean by "use" the port? I don't understand how having OS X think it has a link will help you run an internal DNS server. –  sciurus May 8 '11 at 1:44
    
Here is one example... although not the one I had originally posted, it is also Valid. –  mralexgray May 8 '11 at 3:49
    
Botched that last post... Any scenario in which you may want to run multiple instances of a service - or type of service on the same port/ports, internal proxying, etc. Or a different way it rears it's head... TASK: I want to run a dns/dhcp/router/whatever on a VMWare guest. CASE: The WAN connection is a cable modem that issues DHCP lease based on MAC address ISSUE: It is not possible to allow the VMWare guest to "use" the port unless you "turn on" IPV4 addressing within Mac OS X, which will ultimately interfere with the ability to consistently acquire the WAN address from within the VM. –  mralexgray May 8 '11 at 4:04

2 Answers 2

There's no need to fake a physical network interface being active when you can create virtual network interfaces. TUN and TAP devices let you have as many IP or ethernet level devices as you need. The TunTap project provides the drivers for OS X.

share|improve this answer
    
I have tuntap (use it for miredo tunnels), but there is no tunctl on mac os x, so how is one supposed to bring UP a virtual interface? Even with OpenVPN installed, there doesn't seem to be a command to add a persistent vNIC at whim, and that sticks without a vpn conection active.. –  mralexgray May 18 '11 at 17:07
    
according to the TunTap website you bring up a virtual interface by opening the device that represents it (say, /dev/tun0). Then you configure it with ifconfig and use it. When you want to bring it down, you close the device. So you could use something like this perl one-liner perl -e 'open(my $fh, "<", "dev/tun0") || die "cannot open"; sleep' to bring up a device that would stick around until you killed the perl process. –  sciurus May 19 '11 at 1:56
    
When i try that, i get cannot open at -e line 1. I tried creating a simple perl script, #!/usr/bin/perl system "ifconfig tun0 10.0.0.1 10.0.0.0 netmask 255.255.252.0"; but that gave me the familiar ifconfig: interface tun0 does not exist as you can read here, there are some serious issues with tuntap on os x that make it fundamentally difficult to implement and use reliably in the same ways as is done on regular linux. –  mralexgray May 19 '11 at 16:52

Take this with a grain of salt, as I really don't know if this will kick the port on to the point that it'll be usable.. but a loopback end ought to do it.

Something like this, or just make your own if you have the tools (crimps and an end): one wire from port 1 to port 3, and another from port 2 to port 6.

share|improve this answer
    
I'm tempted to accept this answer, as I bet it would accomplish what I want... But I haven't had time to buy / make one of these things to test it, so I'll wait until then to do so. Hopefully a solution that doesn't require a hacky hardware intervention will manifest itself before then... –  mralexgray Jul 1 '11 at 17:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.