systemd & network

демон запускается, активен, ошибок не выдает, а сети нет
$ systemctl status network@enp2s0.service
network@enp2s0.service - Network connectivity (enp2s0)
   Loaded: loaded (/etc/systemd/system/network@.service; enabled)
   Active: active (exited) since Wed 2013-09-25 19:03:58 NOVT; 2min 36s ago
  Process: 747 ExecStop=/usr/bin/ip link set dev %i down (code=exited, status=0/SUCCESS)
  Process: 744 ExecStop=/usr/bin/ip addr flush dev %i (code=exited, status=0/SUCCESS)
  Process: 757 ExecStartPost=/usr/bin/ifconfig %i mtu 1492 (code=exited, status=0/SUCCESS)
  Process: 755 ExecStart=/usr/bin/ip route add default via ${gateway} (code=exited, status=0/SUCCESS)
  Process: 753 ExecStart=/usr/bin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i (code=exited, status=0/SUCCESS)
  Process: 751 ExecStart=/usr/bin/ip link set dev %i up (code=exited, status=0/SUCCESS)
 Main PID: 755 (code=exited, status=0/SUCCESS)

$ cat /etc/systemd/system/network@.service
[Unit]
Description=Network connectivity (%i)
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
Before=network.target
Wants=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network@%i
ExecStart=/usr/bin/ip link set dev %i up ; /usr/bin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i ; /usr/bin/ip route add default via ${gateway}
ExecStartPost=/usr/bin/ifconfig %i mtu 1492
ExecStop=/usr/bin/ip addr flush dev %i ; /usr/bin/ip link set dev %i down
[Install]
WantedBy=multi-user.target
$ cat /etc/conf.d/network@enp2s0
address=192.168.1.11
netmask=24
broadcast=192.168.1.255
gateway=192.168.1.1
как обновился systemd до 207, так и начались глюки
Perfect_Gentleman
systemd & network
Не туда копаете. systemd не имеет никакого отношения к "network". Совсем :)
Никакого демона вы не запускаете.

Вы написали юнит, который выполняет КОМАНДЫ iproute2, которые настраивают сеть в ЯДРЕ.
Если у вас не работает сеть, надо с помощью тех же команд iproute2 выяснить, есть ли она у вас:
ip addr
чтобы посмотреть сетевые адреса и интерфейсы,
ip route
чтобы посмотреть роуты.

Попробовать пинговать хосты по именам и IP-адресам, проверить разрешение имён в DNS и сами настройки DNS, для начала хотя бы в файле /etc/resolv.conf

Если в результате выяснится, что сеть у вас не настроена – попробуйте настроить её руками, с помощью тех самых команд, которые вы вписали в юнит. Разумеется, с реальными адресами вместо переменных.

Если всё получится – тогда можно искать, что у вас не так с выполнением этих команд через юнит и systemd. Если нет – значит ваши проблемы более серьёзные, и тем более не имеют отношения к systemd. К примеру, вас отключил провайдер, оборвался кабель, сдохла сетевуха и т.д..
Natrio, сеть поднимается после рестарта этой службы, значит интерфейс есть. К тому же такое бывает не после каждый перезагрузки. Заметил это вчера, когда только с 5-ой попытки ядро скомпилил, т.е. две перегрузки нет сети, а третью - есть.
$ pacman -Qs iproute2
local/iproute2 3.10.0-1 (base)
    IP Routing Utilities
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UP qlen 50
    link/ether 00:1f:d0:a5:6b:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global enp2s0
       valid_lft forever preferred_lft forever
    inet6 fe80::21f:d0ff:fea5:6bf9/64 scope link
       valid_lft forever preferred_lft forever
$ ip route
default via 192.168.1.1 dev enp2s0
192.168.1.0/24 dev enp2s0  proto kernel  scope link  src 192.168.1.11
$ cat /etc/resolv.conf
#
# /etc/resolv.conf
#
#search <yourdomain.tld>
nameserver 192.168.1.1
# End of file
Кстати, после апдейта до 207, всё было окей и комп загружался раза в 1.5-2 быстрее.
Perfect_Gentleman, вы показали вывод команд при работающей или при НЕработающей сети?
Как оно должно выглядеть при работающей, я и так знаю.
Natrio, systemctl status network@enp2s0.service при неработающей, всё остальное при работающей.
Выше писал, что systemctl restart network@enp2s0.service помогает, так что интерфейс поднимается.
p.s. счас ребутнулся сеть есть. Запонмю, что надо сделать и выложу в следующий раз.
Perfect_Gentleman
всё остальное при работающей
Всё остальное имеет смысл именно при НЕработающей, чтобы понять ПРИЧИНУ, по которой НЕ работает.
Когда в следующий раз оно НЕ заработает, предлагаю сначала сделать
systemctl status network@enp2s0.service
ip addr
ip route
и сохранить вывод, а потом уже пытаться перезапускать и т.д.
Вот счас опять перегрузил комп, сеть есть.
У вас статика? Зачем все эти пляски, если можно поднимать сеть гораздо проще?
vadik
У вас статика? Зачем все эти пляски, если можно поднимать сеть гораздо проще?
да, статика. как проще?
По dhcp.
 
Зарегистрироваться или войдите чтобы оставить сообщение.