17 my $interfaces = read_file '/etc/network/interfaces';
19 if ( $interfaces !~ m{tap0}s ) {
21 system "sudo apt-get install vde2";
23 write_file '/tmp/interfaces', qq{
26 iface tap0 inet static
28 netmask $server::netmask
33 system q|sudo sh -c 'cat /tmp/interfaces >> /etc/network/interfaces'|;
34 system q|sudo sh -c 'usermod -G vde2-net -a $SUDO_USER'|;
38 my $ifconfig = ifconfig('tap0');
39 if ( $ifconfig =~ m{UP} ) {
40 $ifconfig =~ m{$server::ip}s && return 'up';
41 system("sudo /sbin/ifconfig tap0 $server::ip netmask $server::netmask") == 0 && return "ip changed $server::ip";
42 die "can't change IP address of tap0 to $server::ip";
44 system("sudo ifup tap0") == 0 && return 'started';
45 die "can't start tap0: $!";