Eu tenho um servidor Linux e quero encontrar o endereço IPv6 principal por meio de uma única linha de comando.
Meu comando até agora:
$ ip addr show dev eth0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'
que mostra:
2001:410:0:39:221:28ff:fe46:eef4
fe80::221:28ff:fe46:eef4
Mas eu quero apenas uma ocorrência , para que a saída leia:
2001:410:0:39:221:28ff:fe46:eef4
Respostas:
mostrará seus endereços IPv6.
fonte
% ip -6 addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 inet6 ::1/128 scope host valid_lft forever preferred_lft forever
... ainda greppableip -6 addr show dev eth0 | sed -n 's|^.*inet6 \([^ ]*/64\).*$|\1|p'
ouip -6 addr show dev eth0 | awk '/inet6/{print $2}'
pode ser usado como base e o OP pode estendê-los / editá-los para seu caso de uso específico./sbin/ip -6 addr | grep inet6 | awk -F '[ \t]+|/' '{print $3}' | grep -v ^::1 | grep -v ^fe80
A saída de se
/sbin/ip -6 addr | grep inet6
parece com isso:awk -F '[ \t]+|/' '{print $3}'
divide cada delimitador de configuração de linha para ser um ou mais espaços em branco ou uma barra. A parte que precisamos é de US $ 3.grep -v ^::1 | grep -v ^fe80
para excluir qualquer linha que comece com::1
oufe80
.fonte
Se você deseja uma seleção aleatória de um endereço IPv6
Se você deseja o endereço IPv6 do nome mais comum para o primeiro adaptador Ethernet
Se você quer apenas o endereço
fonte
Use o seguinte comando para visualizar seu endereço IP no Linux:
Normalmente, o endereço Ipv6 parece
2001:5c0:9168::/48
. Se você estiver enfrentando algum conflito no seu IP, siga as etapas abaixo para definir um endereço IP novamente:Em seguida, use o seguinte comando para adicionar novo ip:
Depois, adicione o ip padrão via
Após concluir a instalação, basta reconfigurar / reiniciar os serviços habilitados para IPv6, como Apache, SSH etc.
fonte
ifconfig
está obsoleto no Linux e não deve mais ser usado. As distribuições modernas do Linux nem o instalam mais por padrão (a menos que algum pacote antigo exija).Com alguns pequenos ajustes, sua tentativa original teria funcionado:
A grande mudança é a adição da
-o
bandeira para fazer com que as entradas sejam impressas, uma por linha, o que facilita a execução sobre elas.fonte
Primeiro, lembre-se de que, com o IPv6, qualquer máquina pode ter vários endereços IPv6, e eles podem estar em redes separadas, e qualquer um deles pode ser usado, dependendo de onde você deseja alcançar.
Portanto, antes de poder responder à pergunta sobre qual é o seu endereço IP de origem, você deve decidir para onde está enviando o tráfego. Em seguida, você pode simplesmente pedir ao Linux para lhe dizer qual endereço IPv6 será a fonte quando você enviar tráfego para esse destino.
Se você estiver enviando para "a Internet", basta escolher um endereço IPv6 global aleatoriamente, por exemplo, o endereço DNS público do Google.
Isso pede ao Linux a rota para esse destino. Perl analisa o resultado procurando
src
e depois imprime o próximo campo.Ao fornecer um destino diferente, você pode receber um endereço de origem diferente:
fonte
fonte