Questão Endereço IP estático com o NetworkManager?


Eu só queria configurar um endereço IP estático para uma máquina fedora 19 na minha LAN. estou acostumado a /etc/network/interfaces do debian mas esse arquivo não existe aqui.
Depois de pesquisar um pouco, encontrei um pequeno tutorial que diz para desabilitar o NetworkManager via systemctl e habilitar a rede. Depois disso, pode-se configurar o endereço IP estático em um arquivo chamado /etc/sysconfig/network-scripts/ifcfg-*interfacename*.

Aqui está o meu primeiro problema: eu encontrei um arquivo com o endereço MAC da minha interface como exibido por ifconfig mas o nome depois de ifcfg- não corresponde ao nome do ifconfig. Por que isso é assim?

Meu segundo problema é sobre o uso de NetworkManager.service ou network.service. Eu li em um fórum, que network.service ainda está incluído por razões de compatibilidade e pode ser excluído em breve. Se network.service for substituído em breve por NetworkManager.service, não devo escolher NetworkManager.service para configurar minhas interfaces de rede? Se sim, como faço isso com o NetworkManager de um shell?

Editar:
Aqui estão as saídas solicitadas:

[root@bitch /]# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 97  bytes 12042 (11.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 97  bytes 12042 (11.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p3p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.178.11  netmask 255.255.255.0  broadcast 192.168.178.255
        inet6 fe80::214:85ff:febc:1c63  prefixlen 64  scopeid 0x20<link>
        ether 00:14:85:bc:1c:63  txqueuelen 1000  (Ethernet)
        RX packets 134347  bytes 169988336 (162.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 78199  bytes 6595669 (6.2 MiB)
        TX errors 0  dropped 0 overruns 1  carrier 0  collisions 0

[root@bitch /]# ls -l /etc/sysconfig/network-scripts/
total 200
-rw-r--r--. 1 root root   437 Sep 15 02:05 ifcfg-enp2s5
-rw-r--r--. 1 root root   254 May 31 09:49 ifcfg-lo
lrwxrwxrwx. 1 root root    24 Jun 27 19:12 ifdown -> ../../../usr/sbin/ifdown
-rwxr-xr-x. 1 root root   627 May 31 09:49 ifdown-bnep
-rwxr-xr-x. 1 root root  5553 May 31 09:49 ifdown-eth
-rwxr-xr-x. 1 root root   781 May 31 09:49 ifdown-ippp
-rwxr-xr-x. 1 root root  4141 May 31 09:49 ifdown-ipv6
lrwxrwxrwx. 1 root root    11 Jun 27 19:12 ifdown-isdn -> ifdown-ippp
-rwxr-xr-x. 1 root root  1642 May 31 09:49 ifdown-post
-rwxr-xr-x. 1 root root  1068 May 31 09:49 ifdown-ppp
-rwxr-xr-x. 1 root root   837 May 31 09:49 ifdown-routes
-rwxr-xr-x. 1 root root  1444 May 31 09:49 ifdown-sit
-rwxr-xr-x. 1 root root  1462 May 31 09:49 ifdown-tunnel
lrwxrwxrwx. 1 root root    22 Jun 27 19:12 ifup -> ../../../usr/sbin/ifup
-rwxr-xr-x. 1 root root 12445 May 31 09:49 ifup-aliases
-rwxr-xr-x. 1 root root   859 May 31 09:49 ifup-bnep
-rwxr-xr-x. 1 root root 10234 May 31 09:49 ifup-eth
-rwxr-xr-x. 1 root root 12033 May 31 09:49 ifup-ippp
-rwxr-xr-x. 1 root root 10437 May 31 09:49 ifup-ipv6
-rwxr-xr-x. 1 root root   804 May 31 09:49 ifup-ipx
lrwxrwxrwx. 1 root root     9 Jun 27 19:12 ifup-isdn -> ifup-ippp
-rwxr-xr-x. 1 root root   642 May 31 09:49 ifup-plip
-rwxr-xr-x. 1 root root  1043 May 31 09:49 ifup-plusb
-rwxr-xr-x. 1 root root  2609 May 31 09:49 ifup-post
-rwxr-xr-x. 1 root root  4154 May 31 09:49 ifup-ppp
-rwxr-xr-x. 1 root root  1925 May 31 09:49 ifup-routes
-rwxr-xr-x. 1 root root  3268 May 31 09:49 ifup-sit
-rwxr-xr-x. 1 root root  2607 May 31 09:49 ifup-tunnel
-rwxr-xr-x. 1 root root  3775 May 31 09:49 ifup-wireless
-rwxr-xr-x. 1 root root  4623 May 31 09:49 init.ipv6-global
-rw-r--r--. 1 root root 13836 May 31 09:49 network-functions
-rw-r--r--. 1 root root 26134 May 31 09:49 network-functions-ipv6

Conteúdo de / etc / sysconfig / network-scripts / ifcfg-enp2s5:

PEERROUTES="yes"
IPV6INIT="yes"
NAME="enp2s5"
IPV6_PEERDNS="yes"
DEFROUTE="yes"
UUID="7622e20e-3f2a-4b5c-83d8-f4f6e22ed7ec"
PEERDNS="yes"
IPV4_FAILURE_FATAL="no"
HWADDR="00:14:85:BC:1C:63"
BOOTPROTO="static"
IPV6_DEFROUTE="yes"
IPV6_AUTOCONF="yes"
IPV6_FAILURE_FATAL="no"
TYPE="Ethernet"
ONBOOT="yes"
IPV6_PEERROUTES="yes"
IPADDR=192.168.178.11
NETMASK=255.255.255.0
BROADCAST=192.168.178.255
NETWORK=192.168.178.0
GATEWAY=192.168.178.1

Grepping dmesg for udevd:

[root@bitch network-scripts]# dmesg | grep udevd
[    0.788381] systemd-udevd[97]: starting version 204
[    2.457296] systemd-udevd[322]: starting version 204
[    3.110272] systemd-udevd[329]: renamed network interface eth0 to p3p1

7


origem


Você pode por favor postar a saída do folloring dois comandos 1) ls /etc/sysconfig/network-scripts 2) ifconfig - Drew Chapin
Eu sei que você disse que queria fazer isso a partir de um shell de comando, mas eu postei uma resposta detalhando como fazer isso com a interface gráfica. Se você postar a saída dos 2 comandos que mencionei no comentário anterior, vou revisar minha resposta para ajudar a fazê-lo através do shell de comando. - Drew Chapin
Vou postá-los, apenas um segundo. - wullxz
Sinto-me como p3p1 está configurado como um alias e enp2s5 é o nome real. E quanto à saída de grep -e "NAME=\|HWADDR=" /etc/sysconfig/network-scripts/ifcfg-enp2s5? É o valor de NAME= igual a enp2s5 ou p3p1? - Drew Chapin
O nome da variável pode ser DEVICE ao invés de NAME... - Drew Chapin


Respostas:


Instruções de linha de comando

Depois de muita escavação, descobri que o ifcfg- * nomes de arquivos e NAME= variável no arquivo tem muito pouco a ver com a atribuição real. Você pode literalmente mudá-las para o que você quiser ... Eu fiz um teste na minha máquina mudando-as para eth0 e o IP manual / estático ainda era aplicado na inicialização. A chave aqui parece ser HWADDR variável dentro do arquivo. o NAME= valor só parece ser o nome exibido nas configurações gráficas do Network Manager. Então, dito isso, acredito que tudo que você precisa fazer é ...

  1. Certificar-se de que NetworkManager.service ainda está ativado e network.service está desabilitado.

  2. A maioria IMPORTANTE passo é excluir o atual ifcfg-enp2s5 roteiro.

    sudo rm /etc/sysconfig/network-scripts/ifcfg-enp2s5
    
  3. Crie um novo script chamado ifcfg-p3p1

    sudo nano /etc/sysconfig/network-scripts/ifcfg-p3p1
    
  4. Definir o conteúdo de ifcfg-p3p1 para o seguinte e atualize as respectivas configurações de IP com as configurações desejadas.

    TYPE=Ethernet
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    NAME=p3p1
    UUID=7622e20e-3f2a-4b5c-83d8-f4f6e22ed7ec
    ONBOOT=yes
    DNS1=10.0.0.1
    IPADDR0=10.0.0.2
    PREFIX0=24
    GATEWAY0=10.0.0.1
    HWADDR=00:14:85:BC:1C:63
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    

Quanto ao porquê ifcfg- * o nome era diferente do nome real do dispositivo. Eu não sei, mas suspeito que tenha algo a ver com a forma como as configurações de rede foram aplicadas durante a instalação.

Instruções Gráficas

  1. Aberto Configurações de sistema
  2. Clique em Rede
  3. Clique em Opções ...
  4. Clique no Configurações IPv4 * ou Configurações IPv6 guia dependendo de qual versão de IP sua rede doméstica está usando IPv4).
  5. Clique no Método caixa de combinação e selecione o Manual opção.
  6. Clique no Adicionar botão.
  7. Digite o endereço desejado no Endereço colunas (por exemplo, 10.0.0.20).
  8. Digite a máscara de rede da sua rede no Netmask coluna (por exemplo, 255.255.255.0).
  9. Digite o gateway (geralmente o IP do seu roteador) no Gateway coluna (por exemplo, 10.0.0.1)
  10. Digite seu servidor DNS no Servidores DNS caixa de texto (por exemplo, 10.0.0.1)

    Wired Connection Options Dialog

  11. Clique em Salve ...
  12. Quando você retornar ao Rede configurações, gire o Com fio interface FORA.
  13. Ele deve ser ativado automaticamente com as informações de endereço estáticas inseridas nas etapas anteriores. Se ele não ligar, clique no botão de ativação / desativação para ativá-lo.

    Network Settings After Manual IP Selection


Para responder à sua pergunta sobre como usar o NetworkManager.service sobre network.service. Definitivamente, existe potencial para ser removido em versões posteriores. Como regra geral, não importa o assunto, você deve sempre tentar evitar o uso de qualquer coisa "incluído para compatibilidade com versões anteriores". Então, você deve ficar usando NetworkManager  se você puder.


5



porque eu controlo esta máquina através do SSH. Coisas GUI não é solução. É por isso que eu queria uma solução para configurar o NetworkManager em um shell e também estou me perguntando por que o serviço de rede deve ser substituído, apesar de ser facilmente configurável a partir do shell. - wullxz
E, para sua regra básica: é por isso que eu pergunto sobre o uso de um desses dois, mas preciso usar uma solução baseada em shell. O Linux é frequentemente usado como sistema operacional do servidor. Lá tem ser algo para usar a partir do shell, certo? - wullxz
O NetworkManager faz parte do projeto GNOME, e acredito que isso foi feito por eles, mas não consigo encontrar nada para respaldar isso. Se você ainda não sabe O GNOME está fazendo coisas malucas. - Drew Chapin
eu deletei ifcfg-eth* arquivos de /etc/sysconfig/network e o Network Manager começou a funcionar como deveria! - Paul


Eu não uso o Fedora, mas de acordo com esta postagem, o arquivo que você está procurando deve ser /etc/sysconfig/network-scripts/ifcfg-p3p1 que deve ser algo como isto:

DEVICE=eth0
BOOTPROTO=none
HWADDR=00:13:20:5E:C0:47
ONBOOT=yes
DHCP_HOSTNAME=balthasar.benhome.com
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=no
IPADDR=172.16.3.3
NETMASK=255.255.255.192
GATEWAY=172.16.3.1

Configurar o IP deve funcionar.


1



Não, isso não acontece. Eu li em algum lugar, que se deve simplesmente criar um ifcfg-nome da interface, reinicie network.service e edite as propriedades. Mas quando eu criei um ifcfg-p3p1 vazio, o network.service não começaria de novo. Definitivamente é enp2s5 onde p3p1 é configurado (o endereço IP estático que eu configurei foi aplicado à minha interface de rede). - wullxz
@wullxz sim, parece que é enp2s5, mas você não postou o conteúdo desse arquivo antes. Tente adicionar NM_CONTROLLED=no para ele, que informa a interface não é controlado pelo networkmanager. - terdon
como faço para controlá-lo, se o NetworkManager não? Tem que vir automaticamente na reinicialização. - wullxz
@wullxz não tem ideia, é por isso que foi apenas um comentário. Você pode considerar sinalizar isso para migração para Unix e Linux você pode ter melhores chances lá. - terdon
@wullxz Você fez essa (boa) pergunta há menos de um dia. Ele tem boas respostas até agora, e geralmente não gostamos de migrar as perguntas, a menos que elas estejam sentadas aqui sem muita atenção ou esperança de serem respondidas por um dia ou dois. Eu sugiro que você sinalize novamente em um dia ou mais, se não for resolvido - basta dizer que eu lhe disse. Obrigado pela sua compreensão. - slhck