linux网络服务[虚拟网络技术]——————网络地址、TCP/IP五层常见协议、常见网络端口、配置路由器与网关

1.地址

1.1 网络地址

互联网协议地址(IP地址)为互联网上每一个网络或主机分配一个逻辑地址,IP地址工作在网络地址。

IP的分类:IPV4 IPV6

IPV4不够用,所以要切换到IPV6。

但IPV4无法和IPV6进行通信,所以现在大部分还是使用IPV4的情况。

局域网私有IP地址:

  • 10.0.0.0-10.0.255.255
  • 172.16.0.0-172.31.255.255
  • 192.168.0.0-192.168.255.255

1.2物理地址

物理地址:为每一个可以链接网络的硬件设备设定的硬件地址。

MAC地址:16进制。48位。

2.TCP/IP五层常见协议

应用层协议:FTP、HTTP、SMTP、Telnet、DNS等。

  • Telnet:明文加密,已被淘汰。

传输层协议:TCP(三次握手)、UDP(不可靠)等。

  • UDP:速度快
  • TCP:普通都使用

网络层协议:IP、ICMP、ARP(地址解析协议,解析IP和MAC)等

  • APR:IP——>MAC
  • RARP:MAC——>IP

数据链路层:PPP协议等

物理层:不常用

3.常见网络端口

端口配置文件:

[root@server ~]# cat /etc/services
端口服务工作
20/21ftp服务文件共享
22ssh服务安全远程管理
25smtp:简单邮件传输协议发信
465smtp(ssl)发信
110pop3:纯文本收信
143imap4收信
993imap4(ssl)收信
53DNS端口域名解析端口
3306mysql端口数据库连接端口
80WWW服务(http)网页访问
443WWW服务(https)加密网页访问

ftp:

  • 21:确定连接,要传数据
  • 20:传输数据

4.路由器与网关

4.1 路由器

路由器的功能是:

  • 跨网段通信,让数据包可以访问其他网段。
  • 路由选择:不同的路由协议访问方法不一样(例如使用:最短路径路由选择)。
  • 动态路由:路由器自动选择路径(路由器消耗资源多,自动生效)
  • 静态路由:管理员指定路径(优先级最高,路由器消耗资源少,但适合小型网络)

交换机:在同一个网段内通信。

4.1.1 配置一个路由器

要求:

  • 一台123.0.0.0/24网段的虚拟机client1
  • 一台172.25.5.0/24网段的虚拟机client2
  • 一台虚拟机,做路由器

目的:让两个网段可以通信

1)查看用户的IP:

[root@client1 ~]# ifconfig eth0 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 123.0.0.2  netmask 255.255.255.0  broadcast 123.0.0.255
        inet6 fe80::5054:ff:fe00:50b  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:00:05:0b  txqueuelen 1000  (Ethernet)
        RX packets 51  bytes 7099 (6.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 277  bytes 21142 (20.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2)查看用户2的IP:

[root@client2 ~]# ip addr  show ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:31:00:ab brd ff:ff:ff:ff:ff:ff
    inet 172.25.5.15/24 brd 172.25.5.255 scope global ens3
       valid_lft forever preferred_lft forever
    inet6 fe80::4608:756c:3af9:e967/64 scope link 
       valid_lft forever preferred_lft forever

3)给路由器的网卡上配置两个网段的IP(同一个网卡、不同网卡都可以):

[root@server ~]# ip addr show ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:b2:1b:71 brd ff:ff:ff:ff:ff:ff
    inet 123.0.0.1/24 brd 123.0.0.255 scope global ens3 # 123.0.0网段
       valid_lft forever preferred_lft forever
    inet 172.25.5.10/24 brd 172.25.5.255 scope global ens3 # 172.25.5网段
       valid_lft forever preferred_lft forever
    inet6 fe80::8c34:d014:f74f:7b31/64 scope link 
       valid_lft forever preferred_lft forever
    inet6 fe80::4608:756c:3af9:e967/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever

4)打开防火墙,开启地址伪装:

[root@server ~]# systemctl start firewalld 
[root@server ~]# systemctl enable firewalld 
[root@server ~]# firewall-cmd --add-masquerade  # 开启地址伪装
success
[root@server ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources: 
  services: dhcpv6-client ssh
  ports: 
  protocols: 
  masquerade: yes # 开启成功
  forward-ports: 
  sourceports: 
  icmp-blocks: 
  rich rules:

5) 开启内核路由功能:

[root@server ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1 # 已经开启

如果没有开启:

[root@server ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 # 写入这一条
[root@server ~]# sysctl -p # 激活

6)重启网络:

[root@server ~]# systemctl restart network

7)两个测试机的网关写对应网段的路由器IP:

客户1:

[root@client1 ~]# route add default gw 123.0.0.1
[root@client1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         123.0.0.1       0.0.0.0         UG    1024   0        0 eth0
123.0.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0

客户2:

[root@client2 ~]# route add default gw 172.25.5.10
[root@client2 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.5.10     0.0.0.0         UG    0      0        0 ens3
172.25.5.0      0.0.0.0         255.255.255.0   U     100    0        0 ens3

8)测试

客户1:

[root@client1 ~]# ping 172.25.5.15
PING 172.25.5.15 (172.25.5.15) 56(84) bytes of data.
64 bytes from 172.25.5.15: icmp_seq=1 ttl=64 time=1.04 ms
64 bytes from 172.25.5.15: icmp_seq=2 ttl=64 time=0.504 ms
^C
--- 172.25.5.15 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.504/0.776/1.049/0.273 ms

客户2:

[root@client2 ~]# ping 123.0.0.2
PING 123.0.0.2 (123.0.0.2) 56(84) bytes of data.
64 bytes from 123.0.0.2: icmp_seq=1 ttl=63 time=0.591 ms
64 bytes from 123.0.0.2: icmp_seq=2 ttl=63 time=0.812 ms
^C
--- 123.0.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.591/0.701/0.812/0.113 ms

4.2 网关

网关首先要是路由器:

  • 跨网段通信,让数据包可以访问其他网段。
  • 路由选择:不同的路由协议访问方法不一样(例如使用:最短路径路由选择)。
  • 默认路由
  • NAT转换

NAT转换:

在这里插入图片描述

  • IP不足,使用NAT所有的私网地址都可以使用同一个公网IP进行通信,节约了IP
  • 但是这个过程又会转来转去消耗资源比较慢。

4.2.1 查询路由表

查看路由表:

[root@server ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
123.0.0.0       0.0.0.0         255.255.255.0   U     0      0        0 team0
172.25.5.0      0.0.0.0         255.255.255.0   U     0      0        0 eth2

也就是说:如果碰到172.25.5.0网段的,交给eth2处理。

4.2.2 临时

[root@server ~]# route add default gw 172.25.5.250
[root@server ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.5.250    0.0.0.0         UG    1024   0        0 eth2
123.0.0.0       0.0.0.0         255.255.255.0   U     0      0        0 team0
172.25.5.0      0.0.0.0         255.255.255.0   U     0      0        0 eth2

也就是说,所有处理不了的,就都交给172.25.5.250,就可以了,由他进行处理。

删除:

[root@server ~]# route del default gw 172.25.5.250

4.2.3 永久

加入到网卡中:

[root@server ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth2

TYPE=Ethernet
BOOTPROTO=none
IPADDR0=172.25.5.10
PREFIX0=24
GATEWAY0=172.25.5.250 # 添加网关,0表示第一个网关,你可以使用1、2加入更多的网关
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="Ethernet connection 1"
UUID=b02e7b73-03e7-4662-9444-e21c5158275a
DEVICE=eth2
ONBOOT=yes

或者写进:

[root@server ~]# vim /etc/sysconfig/network
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值