Выход из netstat -r
не содержит маршрута по умолчанию.
Это должно поступать по протоколу DHCP от программного обеспечения хоста ВМ.
Правка:
Вы можете попробовать выяснить, настроен ли маршрут по умолчанию, используя rtmon
и ip
из пакета iproute. С помощью rtmon
вы можете посмотреть интерфейс netlink ядра, а с помощью ip
вы можете посмотреть эти журналы.
Выключите интерфейс с помощью ifdown eth0
и запустите rtmon
следующим образом:
rtmon file /var/log/rtmon.log
Затем активируйте сетевой интерфейс с помощью ifup eth0
. После того, как вы получили IP-адрес, посмотрите в журнале с помощью
ip monitor file /var/log/rtmon.log | less
Ищите что-нибудь вроде
default via 172.31.2.x dev eth0
Если вы найдете это, то, вероятно, вы получили маршрут по умолчанию от DHCP, и проблема где-то на вашей ВМ. Если вы не найдете его, вероятно, это проблема с DHCP.
Раствор Perl, с использованием текста Text :: Text для приятного форматирования вывода:
#!/usr/bin/perl
use warnings;
use strict;
use Text::Table;
my %t;
my ($router, $ip, $column);
while (<>) {
if (/==>/) {
($router, $ip, $column) = /(.*) ==> ([0-9.]+) (\S+)/;
} else {
chomp;
push @{ $t{$router}{$ip}{$column} }, $_;
}
}
my @columns = qw( If_Name If_index If_status );
my $tt = 'Text::Table'->new('routerName', 'IPadd', @columns);
for my $router (keys %t) {
for my $ip (keys %{ $t{$router} }) {
for my $i (0 .. $#{ $t{$router}{$ip}{ $columns[0] } }) {
my @values = map $t{$router}{$ip}{$_}[$i], @columns;
$tt->add($router, $ip, @values);
}
}
}
print $tt;
Ну, вы могли бы сделать это в паре шагов по крайней мере. Если вы сделали
mkdir <archive name>
tar -xf <archive name>.tar.gz --strip-components=1 -C <archive name>
, это будет выполнить задачу, хотя там еще может быть более компактный ответ.
-121--24881-Раствор AWK
awk '
/Routeur/{
i=0;
host[$1" "$2]=$4;
k++;
param[k]=$5;
next }
{
i++
Data[k,i]=$0
}
END{
printf("%-12s%-15s","routerName","IPadd");
for(j in param)
printf("%-17s",param[j]);
print "\n";
for(h in host)
for(i=1;i<3;i++){
printf("%-12s%-15s",h,host[h]);
for(j in param)
printf "%-17s", Data[j,i];
print"" }
}'
Для разных хостов должен быть изменен в соответствии с количеством полей.