7 |
|
|
8 |
use server; |
use server; |
9 |
|
|
10 |
|
sub ifconfig { |
11 |
|
my $dev = shift; |
12 |
|
`/sbin/ifconfig $dev` |
13 |
|
} |
14 |
|
|
15 |
sub tap { |
sub tap { |
16 |
|
|
17 |
my $interfaces = read_file '/etc/network/interfaces'; |
my $interfaces = read_file '/etc/network/interfaces'; |
33 |
|
|
34 |
} |
} |
35 |
|
|
36 |
`/sbin/ifconfig tap0 2>/dev/null` =~ m{UP} || system "sudo ifup tap0"; |
my $ifconfig = ifconfig('tap0'); |
37 |
|
if ( $ifconfig =~ m{UP} ) { |
38 |
1; |
$ifconfig =~ m{$server::ip}s && return 'up'; |
39 |
|
system("sudo /sbin/ifconfig tap0 $server::ip netmask $server::netmask") == 0 && return "ip changed $server::ip"; |
40 |
|
die "can't change IP address of tap0 to $server::ip"; |
41 |
|
} |
42 |
|
system("sudo ifup tap0") == 0 && return 'started'; |
43 |
|
die "can't start tap0: $!"; |
44 |
} |
} |
45 |
|
|
46 |
1; |
1; |