Linux网络管理

相关概念

路由器的作用

  • 用来进行NAT(网络地址转换)操作,将私有地址转换为公有地址使数据包能够发到因特网上,同时从因特网上接收数据包时,将公用地址转换为私有地址。

地址转换分为:

  • 原地址转换
  • 目的地地址转换

网络传输的方式

  • 电磁信号

网关

  • 路由器上与主机处于同一网段的ip就是网关,主机在访问互联网上不在同一网段的ip时需要先访问路由器的网关,然后路由器进行NAT,然后去访问互联网

DNS

  • 域名服务器,是一台主机,把网络中所有的网址对应的ip都存在里面并通过网络共享出来

地址解析

  • 将一个网址转化为ip

子网掩码

  • 是一种用来指明一个IP地址的哪些位标识的是主机所在的子网
  • 以及哪些位标识的是主机的位掩码。
  • 子网掩码不能单独存在,它必须结合IP地址一起使用。

Linux中查看系统所有的配置文件

  • 该文件中记录的就是系统中所有的配置信息

    /usr/share/doc/initscripts-9.49.37/sysconfig.txt


查看主机的IP

hostnamectl     

查看主机的信息

这里写图片描述

yum install lftp -y

下载lftp,lftp是一个文字界面的浏览器,用于文件下载。

ifconfig 

查看网卡和ip,这里查看到的网卡是一个事实存在的硬件,名字不能乱写.
这里写图片描述

ip addr show ens33

查看网卡配置,最后一位是网卡的名字
这里写图片描述

nm-connection-editor 

图形化的方式设置以太网
这里写图片描述
可以设置IPV4:
这里写图片描述

ping 172.25.254.250

测试与目标ip或地址的链接情况
这里写图片描述


让虚拟机可以上网

  • 在Linux真机中新安装的Linux虚拟机是不能上网的需要配置
  • 设置的原理是开启真机的路由功能让虚拟机借助真机来上网

1. 开启真机的路由功能

systemctl stop libvirtd.service     //关掉虚拟机的libvirtd
//这一步是因为该服务会和设置真机防火墙冲突
systemctl restart firewalld         //启动防火墙
systemctl start libvirtd.service    //重启虚拟机libvirtd
firewall-cmd --add-masquerade       //防火墙允许ip地址伪装
firewall-cmd --list-all         //查看防火墙的状态

防火墙的信息:

trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: br0 enp0s25 wlp3s0
  sources: 
  services: 
  ports: 
  protocols: 
  masquerade: yes        //这一项为yes表示真机的路由功能已经打开
  forward-ports: 
  sourceports: 
  icmp-blocks: 
  rich rules: 

通过图形的方式设置虚拟机的ip和网关、

1.修改虚拟机的网关为真机的本地ip,让虚拟机通过真机来上网
nm-connection-editor        //打开图形化设置界面

选择网卡
这里写图片描述

IPV4设置为如图方式

-这里Netmask(子网掩码)设置为24相当于255.255.255.0

这里写图片描述

2. 修改/etc/sysconfig/network
  • 文件末尾添加GATEWAY=真机的IP
    这里写图片描述
  • 保存退出
3. 重启network:systemctl restart network

这里写图片描述

4. 此时网关便添加进去了,可以通过route -n查看

这里写图片描述

5. 此时虚拟机就可以通过真机进行上网了
  • 但是上网需要通过ip上网,可以通过真机ping 网址来得到网址的ip
  • 但是现在大部分网站通过ip访问会被服务器拒绝,因为服务器会进行网址跳转
  • 想直接通过网上上网还需要配置DNS服务器

上面的操作是将真机作为路由器,虚拟机将真机的本地ip作网关,访问真机的本地ip然后真机通过可以上网的ip来访问网络.


新安装的虚拟机配置上网

virt-manager

启动虚拟机管理器

  • 新安装的虚拟机需要配置ip和DNS服务器才能正常上网

设置虚拟机ip

  1. 删除/etc/sysconfig/network-scripts/ifcfg-ens3
  2. 新建/etc/sysconfig/network-scripts/ifcfg-ens3
  3. 输入:
DEVICE=网卡名          //设备名称,这个网卡必须是`ifconfig`中查看到的一个事实存在的网卡
ONBOOT=yes          //网络服务启动是否启动网卡配置
BOOTPROTO=none          //网卡工作方式:获取ip的方式,none为静态手动指定,dhcp为自动设置
IPADDR0=172.25.7.107        //虚拟机的ip地址
PREFIX0=24          //子网掩码也可以写为NETMASK0=255.255.255.0
GATEWAY0=172.25.254.7       //设置网关,设为真机的本地ip
DNS1=114.114.114.114        //设置DNS服务器,最多设置两个
  • GATEWAY0指定的ip是真机中用ip addr show br0查看到的ip.

  • 在真机中使用ip addr show br0查看到的内容:

    • 这里查看到的就是真机中的ip
    • 这里选172.25.254.7作为虚拟机的网关
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 00:21:cc:70:d9:c5 brd ff:ff:ff:ff:ff:ff
    inet 172.25.7.250/24 brd 172.25.7.255 scope global br0
       valid_lft forever preferred_lft forever
    inet 172.25.254.7/24 brd 172.25.254.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::221:ccff:fe70:d9c5/64 scope link 
       valid_lft forever preferred_lft forever

4. 重启network:systemctl restart network

  • 此时虚拟机就可以正常访问网络了
  • 可以通过ping来测试
    这里写图片描述

故障排除

  • 如果联网失败先检查真机防火墙地址伪装功能是否允许
  • 检查虚拟机网关是否设置正确
  • 检查DNS服务是否设置

如果上述操作均无误,则可能是内核的路由功能没有开启

  1. 查看内核是否开启路由功能
sysctl -a |grep ip_forward
  • 显示内容:
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0

net.ipv4.ip_forward为0则没开启

  1. 如果没开启在/etc/sysctl.conf文件末尾添加net.ipv4.ip_forward = 1
  2. 然后执行sysctl -p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值