2
NETWORKING
BASICS
Switching ??
A eth0 eth0 B
[Link]
[Link] [Link]
ip link ip link
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
fq_codel state UP mode DEFAULT group default qlen 1000 fq_codel state UP mode DEFAULT group default qlen 1000
ip addr add [Link]/24 dev eth0 ip addr add [Link]/24 dev eth0
ping [Link]
Reply from [Link]: bytes=32 time=4ms TTL=117
Reply from [Link]: bytes=32 time=4ms TTL=117
Routing ??
A eth0 eth0 B C eth0 eth0 D
[Link] [Link]
[Link] [Link] [Link] [Link]
[Link] [Link]
Gateway
A eth0 eth0 B C eth0 eth0 D
[Link] [Link]
[Link] [Link] [Link] [Link]
[Link] [Link]
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
ip route add [Link]/24 via [Link]
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
[Link] [Link] [Link] UG 0 0 0 eth0
Gateway
A eth0 eth0 B C eth0 eth0 D
[Link] [Link]
[Link] [Link] [Link] [Link]
[Link] [Link]
ip route add [Link]/24 via [Link]
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
[Link] [Link] [Link] UG 0 0 0 eth0
Default Gateway INTERNET
[Link]
INTERNET
[Link]
INTERNET
[Link]
A eth0 eth0 B C eth0 eth0 D
[Link] [Link]
[Link] [Link] [Link] [Link]
[Link] [Link]
ip route add [Link]/24 via [Link]
ip
iproute
routeadd
add172.217.194.0/24 via [Link]
default via [Link]
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
[Link] [Link] [Link] UG 0 0 0 eth0
[Link]
[Link] [Link]
[Link] [Link]
[Link] UG
UG 0
0 0
0 0
0 eth0
eth0
default
[Link] [Link]
[Link] [Link]
[Link] UG
UG 0
0 0
0 0
0 eth0
eth0
Default Gateway INTERNET
[Link]
INTERNET
[Link]
INTERNET
[Link]
A eth0 eth0 B C eth0 eth0 D
[Link] [Link]
[Link] [Link] [Link] [Link]
[Link]
[Link]
[Link]
ip route add [Link]/24 via [Link]
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
[Link]
default [Link] [Link] UG 0 0 0 eth0
[Link] [Link] [Link] UG 0 0 0 eth0
??
A eth0 [Link] eth0 B eth1
[Link]
eth0
C
[Link]
[Link] [Link] [Link]
ping [Link]
Connect: Network is unreachable
ip route add [Link]/24 via [Link] ip route add [Link]/24 via [Link]
ping [Link]
A eth0 [Link] eth0 B eth1
[Link]
eth0
C
[Link]
[Link] [Link] [Link]
cat /proc/sys/net/ipv4/ip_forward
0
/etc/[Link]
.6 echo 1 > /proc/sys/net/ipv4/ip_forward …
net.ipv4.ip_forward = 1
1 …
ping [Link]
Reply from [Link]: bytes=32 time=4ms TTL=117
Reply from [Link]: bytes=32 time=4ms TTL=117
Reply from [Link]: bytes=32 time=4ms TTL=117
Reply from [Link]: bytes=32 time=4ms TTL=117
Take Aways
ip link
ip addr
ip addr add [Link]/24 dev eth0
ip route route
ip route add [Link]/24 via [Link]
cat /proc/sys/net/ipv4/ip_forward
1
13
DNS
For the Absolute Beginners
db
A eth0 eth0 B
[Link]
[Link] [Link]
ping [Link]
Reply from [Link]: bytes=32 time=4ms TTL=117
Reply from [Link]: bytes=32 time=4ms TTL=117
ping db
ping: unknown host db
db
A eth0 eth0 B
[Link]
[Link] [Link]
ping db hostname
host-2
ping: unknown host db
cat >> /etc/hosts
[Link] db
ping db
PING db ([Link]) 56(84) bytes of data.
64 bytes from db ([Link]): icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from db ([Link]): icmp_seq=2 ttl=64 time=0.079 ms
db
A eth0 eth0 B
[Link]
[Link] [Link]
cat >> /etc/hosts hostname
[Link] db host-2
[Link] [Link]
ping db
PING db ([Link]) 56(84) bytes of data.
64 bytes from db ([Link]): icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from db ([Link]): icmp_seq=2 ttl=64 time=0.079 ms
ping [Link]
PING [Link] ([Link]) 56(84) bytes of data.
64 bytes from [Link] ([Link]): icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from [Link] ([Link]): icmp_seq=2 ttl=64 time=0.079 ms
Name Resolution
db
A eth0 eth0 B
[Link]
[Link] [Link]
cat >> /etc/hosts hostname
[Link] db host-2
[Link] [Link]
ping db
ssh db
curl [Link]
Name Resolution web db
A eth0 eth0 B
[Link]
[Link] [Link]
cat >> /etc/hosts cat >> /etc/hosts
[Link] web [Link] web
[Link] db [Link] db
[Link] nfs [Link] nfs
eth0
C
cat >> /etc/hosts nfs
[Link] web
[Link] db
[Link] nfs [Link]
Name Resolution
A eth0
eth0 B
[Link]
cat >> /etc/hosts
[Link] web
[Link] db
[Link] nfs
[Link] web
[Link] db-1
[Link] nfs-1
[Link] web-1
[Link] db-2
[Link] nfs-2
[Link] web-2
[Link] sql
[Link] web-5
[Link] web-test
[Link] db-prod
[Link] nfs-4 eth0 eth0 eth0
[Link] eth0
web-3 eth0 eth0 eth0 eth0
[Link] db-test
[Link] nfs-prod
Z D S W C P L K
[Link] web
[Link] db
DNS
[Link] nfs
[Link] web
[Link] db-1
[Link]
[Link]
[Link]
nfs-1
web-1
db-2
eth0 DNS
[Link] nfs-2
[Link] web-2
[Link] sql
[Link] web-5
[Link] web-test
[Link] db-prod
[Link] nfs-4
[Link] web-3
[Link] db-test
[Link] nfs-prod
A eth0
[Link]
cat >> /etc/hosts
eth0 B
eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0
C C C C C C C C
DNS
[Link] web
[Link] db
[Link] nfs
A eth0 [Link]
[Link]
web
db-1
[Link] nfs-1
[Link] web-1
[Link] db-2
[Link]
[Link]
nfs-2
web-2 eth0 DNS
[Link] sql
[Link] web-5
[Link] [Link] [Link]
[Link]
web-test
db-prod
[Link] nfs-4
[Link] web-3
[Link] db-test
[Link] nfs-prod
[Link]
cat /etc/[Link]
nameserver [Link]
ping db
PING db ([Link]) 56(84) bytes of data.
64 bytes from db ([Link]): icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from db ([Link]): icmp_seq=2 ttl=64 time=0.079 ms
DNS
[Link] web
[Link] db
[Link] nfs
A eth0 [Link]
[Link]
web
db-1
[Link] nfs-1
[Link] web-1
[Link] db-2
[Link]
[Link]
nfs-2
web-2 eth0 DNS
[Link] sql
[Link] web-5
[Link] [Link] [Link]
[Link]
web-test
db-prod
[Link] nfs-4
[Link] web-3
[Link]
[Link] db-test
test
[Link] nfs-prod
[Link]
cat /etc/[Link]
nameserver [Link]
ping db
eth0 TEST
PING db ([Link]) 56(84) bytes of data.
64 bytes from db ([Link]): icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from db ([Link]): icmp_seq=2 ttl=64 time=0.079 ms
[Link]
cat >> /etc/hosts
[Link] test
ping test
PING test ([Link]) 56(84) bytes of data.
64 bytes from test ([Link]): icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from test ([Link]): icmp_seq=2 ttl=64 time=0.079 ms
[Link] web
[Link] db
DNS [Link]
[Link]
[Link]
[Link]
nfs
web
db-1
nfs-1
[Link] web-1
[Link] db-2
[Link] nfs-2
[Link] web-2
[Link] sql
A eth0 [Link] web-5
[Link] web-test
[Link] db-prod
[Link] nfs-4
[Link] web-3 eth0 DNS
[Link] db-test
[Link] [Link] [Link] nfs-prod
[Link] test
cat >> /etc/hosts [Link]
[Link] test
cat /etc/[Link]
eth0 TEST
…
hosts: files dns
…
[Link]
[Link] web
[Link] db
G
DNS [Link]
[Link]
[Link]
[Link]
[Link]
nfs
web
db-1
nfs-1
[Link] web-1
[Link] db-2
[Link] nfs-2
[Link] web-2
[Link] sql
A eth0 [Link] web-5
[Link] web-test
[Link] db-prod
[Link] nfs-4
[Link] web-3 eth0 DNS
[Link] db-test
[Link] [Link] [Link] nfs-prod
[Link] test
cat >> /etc/hosts [Link]
Forward All to [Link]
[Link] test
ping [Link] eth0 TEST
ping: [Link]: Temporary failure in
name resolution
[Link]
cat >> /etc/[Link]
nameserver [Link]
nameserver [Link]
[Link]
ping [Link]
PING [Link] ([Link]) 56(84) bytes of data.
64 bytes from [Link] ([Link]): icmp_seq=1 ttl=50 time=5.70 ms
Domain Names
[Link] [Link]
[Link]
[Link] [Link]
[Link]
[Link] [Link]
[Link]
[Link]
Domain Names
.com .net .edu .org .io
[Link] [Link] [Link] [Link] [Link]
[Link] [Link] [Link] [Link] [Link]
Domain Names
.
Root
Top Level Domain Name .com
google
Subdomain mail drive www maps apps
Domain Names
[Link]
Org
DNS
[Link] => [Link]
(Cache)
.
Root
DNS
.com
.com
DNS
google
Google
DNS
apps
[Link]
Domain Names
Org
DNS
[Link]
m
mail drive www pay hr
[Link] [Link]
web
Search Domain
[Link] [Link]
db
Org [Link] [Link]
nfs
DNS
[Link] [Link]
web-1
[Link] [Link]
sql
[Link]
m
nfs web mail drive www pay hr sql
cat >> /etc/[Link] ping web
nameserver [Link] PING web ([Link]) 56(84) bytes of data.
64 bytes from web ([Link]): icmp_seq=1 ttl=64 time=0.052 ms
search [Link] [Link]
64 bytes from web ([Link]): icmp_seq=2 ttl=64 time=0.079 ms
ping web
ping web
PING [Link] ([Link]) 56(84) bytes of data.
64 bytes from [Link] ([Link]): … time=0.052 ms ping: web: Temporary failure in name resolution
64 bytes from [Link] ([Link]): … time=0.079 ms
ping [Link]
ping [Link]
PING [Link] ([Link]) 56(84) bytes of data.
PING [Link] ([Link]) 56(84) bytes of data. 64 bytes from [Link] ([Link]): ttl=64 time=0.052 ms
64 bytes from [Link] ([Link]): ttl=64 time=0.052 ms
Record Types
A web-server [Link]
AAAA web-server 2001:0db8:85a3:0000:0000:8a2e:0370:7334
CNAME [Link]- [Link]-server, [Link]-server
server
nslookup
nslookup [Link]
Server: [Link]
Address: [Link]#53
Non-authoritative answer:
Name: [Link]
Address: [Link]
dig
dig [Link]
; <<>> DiG 9.10.3-P4-Ubuntu <<>> [Link]
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28065
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;[Link]. IN A
;; ANSWER SECTION:
[Link]. 245 IN A [Link]
[Link]. 245 IN A [Link]
[Link]. 245 IN A [Link]
[Link]. 245 IN A [Link]
[Link]. 245 IN A [Link]
[Link]. 245 IN A [Link]
;; Query time: 5 msec
;; SERVER: [Link]#53([Link])
;; WHEN: Sun Mar 24 04:34:33 UTC 2019
;; MSG SIZE rcvd: 139