Anda di halaman 1dari 7

Aula 01

Configurao de rede
O sistema UNIX usa como protocolo nativo o TCP/IP (este protocolo foi criado
para a interconexo de mquinas UNIX).

Desta forma, os conceitos de redes TCP/IP so aplicveis s redes UNIX sem
esforo. Neste mdulo veremos como ajustar as configuraes bsicas de rede
em uma mquina Linux.
Interfaces de rede
Cada mquina possui uma ou mais interfaces de rede, geralmente no padro
ethernet, com endereos IP associados que as identificam para o protocolo IP.
Alm disso, cada interface de rede tambm possui um endereo fsico (MAC)
que a identifica na rede local na camada de enlace.
A relao das interfaces de rede fsicas presentes no sistema (ativas e inativas)
pode ser obtida nas mensagens de inicializao (boot) do sistema, visualizadas
nos arquivos de log (/var/log/messages) ou atravs do comando dmesg.
Eis um trecho das mensagens de inicializao que indicam as interfaces de
rede disponveis em um sistema tpico:
...
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 informaes sobre as interfaces de rede ativas podem ser visualizadas
atravs do comando ifconfig. Eis um exemplo de sada desse comando:
host:~> ifconfig
eth0 Link encap:Ethernet HWaddr 00:A0:C9:E8:63:AB
inet
addr:200.17.98.174 Bcast:200.17.98.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3727007 errors:0 dropped:0 overruns:0 frame:3
TX packets:4869672 errors:0 dropped:0 overruns:0 carrier:0
collisions:679247 txqueuelen:100
Interrupt:10 Base address:0xb400
lo Link encap:Local loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:404950 errors:0 dropped:0 overruns:0 frame:0
TX packets:404950 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

A interface lo indica o dispositivo virtual chamado loopback, que permite ao
host acessar seus prprios servios TCP/IP. O endereo IP dessa interface
sempre 127.0.0.1, com mscara 255.0.0.0. Por ser um dispositivo virtual, ele
no possui endereo fsico (MAC). Na maioria dos dispositivos e sistemas essa
interface definida na configurao default do sistema, por isso no
necessrio configur-la.
Alm de listar as interfaces ativas, o comando ifconfig pode ser usado para
ligar/desligar/configurar uma determinada interface, ou para definir novas
interfaces de rede na mquina. A sintaxe bsica desse comando a seguinte:
ifconfig <interface> [<ip-address>]
[netmask <mask>]
[broadcast <bcast-address>]
[up|down]
Eis alguns exemplos de uso:
Para desativar a interface eth0:
ifconfig eth0 down
Para ativar a interface eth0 com uma configurao pr-definida:
ifconfig eth0 up
Para ativar a interface eth0 com uma configurao especfica:
ifconfig eth0 10.0.0.17 netmask 255.0.0.0 up
Para associar um segundo endereo IP (virtual) interface eth0:
ifconfig eth0:1 66.193.175.173 netmask 255.255.254.0
Configurao de rotas
A tabela de roteamento indica quais as rotas ativas em uma mquina. Ela pode
ser obtida atravs do comando route. Eis uma sada tpica desse comando:
host:~> route
Kernel IP routing table
Destination Gateway Genmask Flags Metric
Ref Use Iface
200.17.98.0 * 255.255.255.0 U 0 0
0 eth0
127.0.0.0 * 255.0.0.0 U 0 0
0 lo
default router.pucpr.br
0.0.0.0 UG 0 0 0 eth0



A tabela acima indica que:
A rede 200.17.98.0 pode ser acessada atravs da interface ethernet
eth0.
O gateway default o dispositivo router.pucpr.br
O comando route tambm usado para configurar as rotas usadas pelo
sistema. Sua sintaxe bsica de uso a seguinte:
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 loopback (com mscara default 255.0.0.0 e dispositivo
lo):
route add -net 127.0.0.0
Para adicionar/remover uma rota para a rede 192.120.10.0 via dispositivo eth0:
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/remover uma rota default usando router02 como gateway:
route add default gw router02
route del default gw router02
Para adicionar uma rota para o host 10.0.0.125 atravs do dispositivo eth0:
route add -host 10.0.0.125 dev eth0
Para adicionar uma rota para a rede 200.192.112.0 atravs do dispositivo eth1:
route add -net 200.192.112.0 netmask 255.255.255.0 dev eth1
Alm de rotear seus prprios pacotes, um host pode tambm rotear pacotes
recebidos em outras interfaces, agindo portanto como gateway para outras
redes. Essa funo denominada "IP forwarding".
Para verificar se o IP forwarding est ativado:
cat /proc/sys/net/ipv4/ip_forward
Para ativar/desativar o IP forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/ip_forward
Resoluo de endereos fsicos
Os endereos fsicos (da camada de enlace) so resolvidos (associados a
endereos IP) atravs do protocolo ARP - Address Resolution Protocol. O
comando arp permite visualizar o cache de endereos ARP na mquina local.
Eis um exemplo de uso:
ppgia:~> arp
Address HWtype HWaddress Flags
Mask Iface
200.17.98.68 ether 00:C0:DF:ED:09:0D C e
th0
200.17.98.242 ether 00:A0:C9:92:DA:BB C e
th0
200.17.98.189 ether 00:00:F8:7E:07:A2 C e
th0
gramado.ppgia.pucpr.br ether 00:A0:C9:DA:95:65 C e
th0
200.17.98.221 ether 00:A0:C9:E8:68:34 C e
th0
200.17.98.220 ether 00:80:5F:33:28:D3 C e
th0
curitiba.ppgia.pucpr.br
ether 00:A0:24:13:52:4C C eth0
floripa.ppgia.pucpr.br ether 00:60:08:CB:16:53 C e
th0
200.17.98.142 ether 00:20:35:56:02:86 C e
th0
tokio.ppgia.pucpr.br ether 00:60:08:16:85:B3 C e
th0
200.17.98.225 ether 00:60:08:16:80:00 C e
th0
gaviao.ppgia.pucpr.br ether 00:80:5F:C1:A5:63 C e
th0
Status da atividade de rede
A comunicao em TCP/IP pode ocorrer atravs de servios com ou sem
conexo, providos respectivamente por TCP e UDP. Cada servio
identificado por uma porta, na qual um processo tem um socket aberto para
receber solicitaes. Os principais servios TCP/UDP esto listados no arquivo
/etc/services, do qual apresentamos uma pequena parte:
# service port/protocol aliases description
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send
protocol
msp 18/udp # message send
protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp 21/tcp
fsp 21/udp fspd
ssh 22/tcp # SSH Remote Login
Protocol
ssh 22/udp # SSH Remote Login
Protocol
telnet 23/tcp
smtp 25/tcp mail
time 37/tcp timeserver
...
Os processos que respondem pelos servios so normalmente chamados
daemons, e so executados em background. Vrios deles, sobretudos os que
gerenciam servios mais importantes, so lanados pelos scripts de
inicializao do sistema, contidos no diretrio /etc/rc.d.
:
|
|-- rc.d
| |-- init.d scripts de inicializao de servios
: |-- rc0.d scripts a executar ao entrar no run-level 0
|-- 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 netstat permite obter uma srie de informaes sobre os
servios de rede em uma mquina UNIX. Suas principais opes so:
-r : informaes de roteamento (similar ao comando route)
-i : informaes sobre interfaces (similar ao comando ifconfig)
-a : indica tambm as portas TCP e UDP abertas no host)
-p : indica quais os processos associados a portas de rede abertas
-g : informaes sobre grupos multicast conhecidos no host
-n : sada numrica (sem converter IPs e nmeros de porta em seus
nomes respectivos)
A operao default mostra as conexes e sockets ativos, como vemos na
listagem a seguir:
host:~> netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign
Address State
tcp 0 0 sol.ppgia.pucp:ftp-data
200.17.98.225:1207 TIME_WAIT
tcp 0 0 sol.ppgia.pucpr.br:2287
ns.ifnet.com.br:smtp ESTABLISHED
tcp 0 0 sol.ppgia.pucpr.br:2286 cciespc2.cityu.edu.:www
ESTABLISHED
tcp 0 0 sol.ppgia.pucpr.br:3128 omega.ppgia.pucpr:40274
TIME_WAIT
tcp 0 0 sol.ppgia.pucpr.br:2285 cciespc2.cityu.edu.:www
ESTABLISHED
tcp 0 0 sol.ppgia.pucpr.br:2284
www.codeforge.com:www ESTABLISHED
tcp 0 0 sol.ppgia.pucpr.br:3128 omega.ppgia.pucpr:40273
TIME_WAIT


tcp 0 0 sol.ppgia.pucpr.br:3128 omega.ppgia.pucpr:40267
TIME_WAIT
...
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 1 [ ] STREAM CONNECTED 323876 @00003a52
unix 1 [ ] STREAM CONNECTED 328255 /dev/log
unix 1 [ ] STREAM CONNECTED 600 /dev/log
...
O comando netstat possui uma srie de opes teis para verificar o status
corrente das operaes de rede. Consulte a pagina de manual do comando
para maiores informaes.
Atividades
1. Configurao de interfaces
Lance e configure uma mquina virtual UML (identificada por VM1) com duas
interfaces de rede (o valor N ser informado pelo professor para cada grupo):
eth0 em 20.0.0.N (por default ser usado o device tuntap)
eth1 em 192.168.0.N (por default ser usado um hub virtual isolado via
mcast)
Observaes:
A rede 20.0.0.0 tem conexo com o exterior via o gateway 20.0.0.1
(servidor espec).
A rede 192.168.0.0 no tem conexo com o exterior ( uma rede
isolada)
Para testar sua configurao, utilize os comandos ping e ssh. Para tornar sua
configurao permanente, coloque os comandos necessrios no final do
arquivo /etc/rc.d/rc.local da mquina virtual.
2. Status de rede
Identifique em sua mquina virtual:
as conexes de rede existentes
os servios de rede ativos
os processos responsveis pelos mesmos
3. Roteamento
Este exerccio consiste em fazer funcionar o roteamento entre duas novas
mquinas virtuais VM2 e VM3, atravs da mquina virtual anterior VM1,
conforme indicado na figura abaixo:

Passos:
1. Lance uma nova mquina virtual VM2
2. Configure a interface eth0 de VM2 com o endereo 20.0.0.(N+1) (no
configure eth1)
3. Configure o gateway default dessa mquina como sendo 20.0.0.N
4. Lance uma nova mquina virtual VM3
5. Configure a interface eth1 de VM3 com o endereo 192.168.0.(N+1)
(no ative eth0)
6. Configure o gateway default dessa mquina como sendo 192.168.0.N
7. Habilite a funcionalidade IP forwarding em VM1
8. A partir de VM2 acesse o servio SSH de VM3 e vice-versa