Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
espec:configuracao_de_rede_em_unix [2008/06/11 14:47] – 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 '' | ||