Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anterior Revisão anterior | |||
| espec:configuracao_de_rede_em_unix [2012/03/09 21:54] – [Status da atividade de rede] maziero | espec:configuracao_de_rede_em_unix [2020/08/18 22:14] (atual) – edição externa 127.0.0.1 | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| + | ====== Configuração de rede ====== | ||
| + | |||
| + | O sistema UNIX usa como protocolo nativo o TCP/IP (esta família de protocolos foi criada para a interconexão de máquinas UNIX). Desta forma, os conceitos de redes TCP/IP são aplicáveis às redes UNIX sem esforço. Neste módulo veremos como ajustar as configurações básicas de rede em uma máquina Linux. | ||
| + | |||
| + | ===== Interfaces de rede ===== | ||
| + | |||
| + | Cada máquina possui uma ou mais interfaces de rede, geralmente no padrão // | ||
| + | |||
| + | A relação das interfaces de rede físicas presentes no sistema (ativas e inativas) pode ser obtida através do comando '' | ||
| + | |||
| + | < | ||
| + | $ ifconfig -a | ||
| + | eth0 Link encap: | ||
| + | inet end.: 200.134.10.120 | ||
| + | endereço inet6: fe80:: | ||
| + | UP BROADCAST RUNNING MULTICAST | ||
| + | pacotes RX:1561589 erros:0 descartados: | ||
| + | Pacotes TX:726651 erros:0 descartados: | ||
| + | colisões:0 txqueuelen: | ||
| + | RX bytes: | ||
| + | IRQ:42 Endereço de E/ | ||
| + | |||
| + | lo Link encap: | ||
| + | inet end.: 127.0.0.1 | ||
| + | endereço inet6: ::1/128 Escopo: | ||
| + | UP LOOPBACK RUNNING | ||
| + | pacotes RX:4950 erros:0 descartados: | ||
| + | Pacotes TX:4950 erros:0 descartados: | ||
| + | colisões:0 txqueuelen: | ||
| + | RX bytes: | ||
| + | |||
| + | vboxnet0 | ||
| + | BROADCAST MULTICAST | ||
| + | pacotes RX:0 erros:0 descartados: | ||
| + | Pacotes TX:0 erros:0 descartados: | ||
| + | colisões:0 txqueuelen: | ||
| + | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) | ||
| + | |||
| + | virbr0 | ||
| + | inet end.: 192.168.122.1 | ||
| + | endereço inet6: fe80:: | ||
| + | UP BROADCAST RUNNING MULTICAST | ||
| + | pacotes RX:0 erros:0 descartados: | ||
| + | Pacotes TX:725 erros:0 descartados: | ||
| + | colisões:0 txqueuelen: | ||
| + | RX bytes:0 (0.0 B) TX bytes: | ||
| + | </ | ||
| + | |||
| + | Informação similar também pode ser ou nas mensagens de inicialização (//boot//) do sistema, visualizadas nos arquivos de log (''/ | ||
| + | |||
| + | < | ||
| + | ... | ||
| + | Intel(R) PRO/100 Network Driver - version 2.3.38-k1 | ||
| + | eth0: Intel(R) PRO/100 Network Connection | ||
| + | e100: eth0 NIC Link is Up 100 Mbps Half duplex | ||
| + | Intel(R) PRO/1000 Network Driver - version 5.2.30.1-k1 | ||
| + | eth1: Intel(R) PRO/1000 Network Connection | ||
| + | e1000: eth1 NIC Link is Up 100 Mbps Full Duplex | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | As informações sobre as interfaces de rede ativas podem ser visualizadas através do comando '' | ||
| + | |||
| + | < | ||
| + | $ ifconfig | ||
| + | eth0 Link encap: | ||
| + | inet end.: 200.134.10.120 | ||
| + | endereço inet6: fe80:: | ||
| + | UP BROADCAST RUNNING MULTICAST | ||
| + | pacotes RX:1561644 erros:0 descartados: | ||
| + | Pacotes TX:726702 erros:0 descartados: | ||
| + | colisões:0 txqueuelen: | ||
| + | RX bytes: | ||
| + | IRQ:42 Endereço de E/ | ||
| + | |||
| + | lo Link encap: | ||
| + | inet end.: 127.0.0.1 | ||
| + | endereço inet6: ::1/128 Escopo: | ||
| + | UP LOOPBACK RUNNING | ||
| + | pacotes RX:4952 erros:0 descartados: | ||
| + | Pacotes TX:4952 erros:0 descartados: | ||
| + | colisões:0 txqueuelen: | ||
| + | RX bytes: | ||
| + | |||
| + | virbr0 | ||
| + | inet end.: 192.168.122.1 | ||
| + | endereço inet6: fe80:: | ||
| + | UP BROADCAST RUNNING MULTICAST | ||
| + | pacotes RX:0 erros:0 descartados: | ||
| + | Pacotes TX:728 erros:0 descartados: | ||
| + | colisões:0 txqueuelen: | ||
| + | RX bytes:0 (0.0 B) TX bytes: | ||
| + | </ | ||
| + | |||
| + | A interface '' | ||
| + | |||
| + | Além de listar as interfaces ativas, o comando '' | ||
| + | |||
| + | < | ||
| + | ifconfig < | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Eis alguns exemplos de uso: | ||
| + | |||
| + | Para desativar a interface '' | ||
| + | |||
| + | < | ||
| + | $ ifconfig eth0 down | ||
| + | </ | ||
| + | |||
| + | Para ativar a interface '' | ||
| + | |||
| + | < | ||
| + | $ ifconfig eth0 up | ||
| + | </ | ||
| + | |||
| + | Para ativar a interface '' | ||
| + | |||
| + | < | ||
| + | $ ifconfig eth0 10.0.0.17 netmask 255.0.0.0 up | ||
| + | </ | ||
| + | |||
| + | Para associar um segundo endereço IP (virtual) à interface '' | ||
| + | |||
| + | < | ||
| + | $ ifconfig eth0:1 66.193.175.173 netmask 255.255.254.0 | ||
| + | </ | ||
| + | |||
| + | ===== Configuração de rotas ===== | ||
| + | |||
| + | A tabela de roteamento indica quais as rotas ativas em uma máquina. Ela pode ser obtida através do comando '' | ||
| + | |||
| + | < | ||
| + | $ route | ||
| + | Tabela de Roteamento IP do Kernel | ||
| + | Destino | ||
| + | 200.134.10.0 | ||
| + | 192.168.122.0 | ||
| + | link-local | ||
| + | default | ||
| + | |||
| + | $ route -n | ||
| + | Tabela de Roteamento IP do Kernel | ||
| + | Destino | ||
| + | 200.134.10.0 | ||
| + | 192.168.122.0 | ||
| + | 169.254.0.0 | ||
| + | 0.0.0.0 | ||
| + | </ | ||
| + | |||
| + | A tabela acima indica que: | ||
| + | |||
| + | * A rede 200.17.98.0 pode ser acessada através da interface ethernet '' | ||
| + | * O //gateway// default é o dispositivo '' | ||
| + | |||
| + | O comando '' | ||
| + | |||
| + | < | ||
| + | route [-v] add [-net|-host] Alvo | ||
| + | [netmask Nm] | ||
| + | [gw Gw] | ||
| + | [metric N] | ||
| + | [mss M] | ||
| + | [window W] | ||
| + | [irtt I] | ||
| + | [reject] [mod] [dyn] [reinstate] | ||
| + | [[dev] If] | ||
| + | </ | ||
| + | |||
| + | ou | ||
| + | |||
| + | < | ||
| + | route [-v] del [-net|-host] Alvo | ||
| + | [gw Gw] | ||
| + | [netmask Nm] | ||
| + | [metric N] | ||
| + | [[dev] If] | ||
| + | </ | ||
| + | |||
| + | Eis alguns exemplos de uso desse comando: | ||
| + | |||
| + | Para adicionar a rota de // | ||
| + | |||
| + | < | ||
| + | $ route add -net 127.0.0.0 | ||
| + | </ | ||
| + | |||
| + | Para adicionar/ | ||
| + | |||
| + | < | ||
| + | $ route add -net 192.120.10.0 netmask 255.255.255.0 dev eth0 | ||
| + | |||
| + | $ route del -net 192.120.10.0 netmask 255.255.255.0 dev eth0 | ||
| + | </ | ||
| + | |||
| + | Para adicionar/ | ||
| + | |||
| + | < | ||
| + | $ route add default gw router02 | ||
| + | |||
| + | $ route del default gw router02 | ||
| + | </ | ||
| + | |||
| + | Para adicionar uma rota para o host 10.0.0.125 através do dispositivo '' | ||
| + | |||
| + | < | ||
| + | $ route add -host 10.0.0.125 dev eth0 | ||
| + | </ | ||
| + | |||
| + | Para adicionar uma rota para a rede 200.192.112.0 através do dispositivo '' | ||
| + | |||
| + | < | ||
| + | $ route add -net 200.192.112.0 netmask 255.255.255.0 dev eth1 | ||
| + | </ | ||
| + | |||
| + | Além de rotear seus próprios pacotes, um host pode também rotear pacotes recebidos em outras interfaces, agindo portanto como //gateway// para outras redes. Essa função é denominada "IP forwarding" | ||
| + | |||
| + | Para verificar se o "IP forwarding" | ||
| + | |||
| + | < | ||
| + | $ cat / | ||
| + | </ | ||
| + | |||
| + | Para ativar ou desativar o IP forwarding: | ||
| + | |||
| + | < | ||
| + | $ echo 1 > / | ||
| + | |||
| + | $ echo 0 > / | ||
| + | </ | ||
| + | |||
| + | ===== Resolução de endereços físicos ===== | ||
| + | |||
| + | Os endereços físicos (da camada de enlace) são resolvidos (associados a endereços IP) através do protocolo ARP - //Address Resolution Protocol//. O comando '' | ||
| + | |||
| + | < | ||
| + | $ arp | ||
| + | Endereço | ||
| + | mccarthy.dainf.ct.utfpr | ||
| + | dainf.ct.utfpr.edu.br | ||
| + | metcalfe.dainf.ct.utfpr | ||
| + | </ | ||
| + | |||
| + | ===== Status da atividade de rede ===== | ||
| + | |||
| + | A comunicação em TCP/IP pode ocorrer através de serviços com ou sem conexão, providos respectivamente por TCP e UDP. Cada serviço é identificado por uma porta, na qual um processo tem um //socket// aberto para receber solicitações. Os principais serviços TCP/UDP estão listados no arquivo ''/ | ||
| + | |||
| + | < | ||
| + | # service | ||
| + | |||
| + | netstat | ||
| + | qotd 17/ | ||
| + | msp | ||
| + | msp | ||
| + | chargen | ||
| + | chargen | ||
| + | ftp-data | ||
| + | ftp | ||
| + | fsp | ||
| + | ssh | ||
| + | ssh | ||
| + | telnet | ||
| + | smtp 25/ | ||
| + | time 37/ | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | Os processos que respondem pelos serviços são normalmente chamados // | ||
| + | |||
| + | < | ||
| + | : | ||
| + | | | ||
| + | |-- rc.d | ||
| + | | |-- init.d | ||
| + | : |-- rc0.d | ||
| + | |-- rc1.d idem, 1 | ||
| + | |-- rc2.d idem, 2 | ||
| + | |-- rc3.d idem, 3 | ||
| + | |-- rc4.d idem, 4 | ||
| + | |-- rc5.d idem, 5 | ||
| + | `-- rc6.d idem, 6 | ||
| + | </ | ||
| + | |||
| + | O comando '' | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | A operação default mostra as conexões e //sockets// ativos, como vemos na listagem a seguir: | ||
| + | |||
| + | < | ||
| + | $ netstat -n | ||
| + | Conexões Internet Ativas (sem os servidores) | ||
| + | Proto Recv-Q Send-Q Endereço Local Endereço Remoto | ||
| + | tcp 0 0 200.134.10.120: | ||
| + | tcp | ||
| + | tcp 0 0 200.134.10.120: | ||
| + | tcp 0 0 200.134.10.120: | ||
| + | tcp 0 0 200.134.10.120: | ||
| + | tcp 0 0 127.0.0.1: | ||
| + | tcp 0 0 127.0.0.1: | ||
| + | tcp | ||
| + | tcp 0 0 200.134.10.120: | ||
| + | tcp 0 0 200.134.10.120: | ||
| + | tcp 0 0 200.134.10.120: | ||
| + | tcp | ||
| + | tcp 0 0 200.134.10.120: | ||
| + | |||
| + | Domain sockets UNIX ativos (sem os servidores) | ||
| + | Proto RefCnt Flags | ||
| + | unix 2 [ ] | ||
| + | unix 2 [ ] | ||
| + | unix 2 [ ] | ||
| + | unix 21 [ ] | ||
| + | unix 3 [ ] | ||
| + | unix 3 [ ] | ||
| + | unix 3 [ ] | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | O comando '' | ||