Конфигурация Systemd Networkd Vlan

Могут быть и другие способы сделать это (Я не эксперт в csh/tcsh -Мне не нравился csh, когда мне приходилось его использовать в начале 90-х, и с тех пор я избегал его, насколько это было возможно ), но я нашел единственный способ сделать то, что вы хотите в tcsh, с помощью set nonomatchили set noglob. Например:

perlscript.pl:

#!/usr/bin/perl

@CMDLineArgs = ('-stuff', '-more_stuff', '-even_more', '*stuff', '-last_stuff');
system('./script.tcsh', @CMDLineArgs);

в качестве альтернативы, если вы не хотите вводить все одиночные -кавычки и запятые, используйтеqw():

@CMDLineArgs = qw(-stuff -more_stuff -even_more *stuff -last_stuff);

script.tcsh:

#!/bin/tcsh

set nonomatch
set flags=($argv[*])

foreach f ($flags)
  echo $f
end

и вывод:

$./perlscript.pl
-stuff
-more_stuff
-even_more
*stuff
-last_stuff

Обратите внимание, что при этом каждый аргумент сохраняется как отдельный элемент в $flagsвместо объединения их всех в одну строку.

1
25.09.2019, 15:58
1 ответ

Естественно, я не знаю вашей точной настройки, но я думаю, что здесь происходят две вещи. Мои настройки аналогичны вашим тем, что у меня есть родная (нетегированная )VLAN с подсетью 192.168.1.0/24 и VLAN20, работающая на одном интерфейсе с подсетью 192.168.2.0/24.

Во-первых, адрес 169.254.243.53 является автоматически -назначенным локальным адресом канала. Я отключил это на своем с помощью LinkLocalAddressing=no, как показано ниже :

.
# cat eth0.network 
[Match]
Name=eth0

[Link]
RequiredForOnline=yes

[Network]
Address=192.168.1.14/24
Gateway=192.168.1.1
DHCP=no
DNS=192.168.1.7
NTP=192.168.1.7
LLDP=yes
EmitLLDP=yes
LinkLocalAddressing=no
VLAN=vlan20

Я не использую DHCP на этом устройстве для настройки интерфейса, поэтому мне нужно настроить такие вещи, как DNS, NTP и шлюз по умолчанию, что подводит меня ко второму пункту :, что делает как выглядит ваша таблица маршрутизации, т.е. вывод ip route, на оба устройства?

1
30.03.2020, 01:25

Теги

Похожие вопросы