Linux下的网络设定
一、IP相关介绍
1.IP是internet protocal的简称,也叫网络进程。
2.ipv4全称internet protocal version 4。它是由32个二进制组成;改为十进制的话,一般格式为255.255.255.255。
在32位IP地址中,又分为网络位和主机位。
3.子网掩码:用来划分网络区域;非0位是网络位,0位位主机位;网络位表示网络区域,主机位表示一个网络区域内的某太主机。
例如:255.255.255.0 表示前24位是网络位,后八位是主机位。 (一般ip/24中24,也表示子网掩码)
4.ip通信要求
网络号相同主机号不同的两个可以直接通讯。
172.25.254.1/24 表示在网段172.25.254内的第一台主机
例如:172.25.254.100/24 172.25.0.21/16 可以通信
5.网络设定工具(临时)
ping id 检测网络是否通畅
ifconfig 查看网络接口
ifconfig device ip/24 设定网络接口
ifconfig device down 关闭接口
ifconfig device up 开启
ip addr 也可用查看、添加接口等操作
ip addr show 检测
ip addr add ip/24 dev eth0 设定
注意:device的名字是一个物理事实,电脑上已有的设备,可以查询到的
示例:使用--- ip addr show ---查看接口信息
命令:ip addr flush dev eth0 对设备eth0进行刷新(刷新后之前的ip地址就没了)
使用命令:ip addr add 172.25.254.177/24 dev eth0 添加一个ip地址。 (临时)
注意:使用ip addr add的时候,前提条件是该设备没有ip。
二、永久设定网络IP
【1】图形化方式
命令:nm-connection-editor (无配置文件时生成,有的时候进行更改配置文件)
步骤:(条件是IP不存在的时候,添加IP用如下步骤)
2)点击add,出现新界面后直接点creat
3)点击creat出现如下界面,Connection name 中的名称可以随便添; Device MAC address中选中已有的设备
在ipv4进行如下修改: 点击ADD,输入自己的IP和子网掩码;其中Getway不添,但必须选中才可以SAVE。
4)保存后,进行测试:
补充:NetworkManager是用来记录网络状态的服务,比如,你添加密码后,会进行记录。
注意:若IP已存在时,此时进行IP的更改之后,要使用如下命令使其生效:
systemctl stop NetworkManager 关闭记录状态的服务
systemctl restart network 重启网络
systemctl start NetworkManager 打开记录状态服务
ifconfig 此时发现IP已经改变
【2】文本图形界面设定
命令:nmtui
步骤:
1) 在文本界面命令行输入:nmtui
2) 在以下界面选中Edit a connection (在选择的时候用TAB键,确定用ENTER)
3)
4)Profile name是随便取的,Device是自己的物理设备名称不可自己取。
5) 设定完成点击Quit。
6)使用ifconfig查看结果如下,此时设定已经完成。
【3】命令方式
命令:nmcli 使用之前必须开启NetworkManager
nmcli connection modify westos ipv4.method auto 更改网卡的工作方式
nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.177/24 可以进行一个ip的设定
nmcli connection modify westos ipv4.address ip/24 对ip地址进行修改(重启后生效)
使用命令nmcli device disconnection eth0,断开连接(关闭网卡)
使用命令nmcli device connection eth0进行激活 (启动网卡)
使用nmcli decice show 显示网卡信息
使用 nmcli connection show 显示的是接口名称
注意:connection 后接的是接口名称;device后接的是设备名称
【4】修改配置文件方法(不要在真实主机做)
网络配置目录:/etc/sysconfig/network-scripts
网络配置文件的规则:ifcfg-xxxx(xxxx自己随便取,会在配置目录下显示出来)
DEVICE=xxx 网卡设备名称
BOOTPROTO=dhcp|static|none 网卡设备的工作状态(dhcp动态ip不用自己设定别人给你;static和none要手动设定)
ONBOOT=yes 在网络服务启动的时自动激活配置的网卡
IPADDR=ip地址
PREFIX=24 子网掩码
NETMASK=255.255.255.0 子网掩码(二者选一即可)
NAME=XXX 接口名称,可写可不写(ifconfig会显示)
配置完成之后,要重启network服务
实例:静态网络设定文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=172.25.254.177
PREFIX=24
NAME=eth0
systemctl restart network
一块网卡上配置多个IP(ip addr show eth0)
改配置文件:(使用eth0默认显示为第0个;若想看一个网卡的多个IP,则使用ip addr show eth0查看)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
IPADDR0=172.25.254.177
PREFIX0=24
NAME=eth0
IPADDR1=172.25.0.100
PREFIX1=24
systemctl restart network
注意:回环接口lo(不要更改)
不用设定,传输速率快;网卡受物理限制。相当于人神经。---- 172.0.0.1 -----localhost
接口若是四个0,代表所有人都可以连接
三、设定网关
1.设定真实主机变成一个路由器 (打开masquerade)
使用firewall-cmd --list-all无效的时候:
systemctl restart firewalld
systemctl start libvirtd ## 要是不打开,虚拟机用不了
public (default, active)
interfaces: br0 enp2s0f2 wlp3s0
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@foundation77 ~]# firewall-cmd --reload
success
[root@foundation77 ~]# firewall-cmd --list-all
public (default, active)
interfaces: br0 enp2s0f2 wlp3s0
sources:
services: dhcpv6-client ssh
ports:
masquerade: yes ## 地址伪装功能开启,真实主机变成路由器
forward-ports:
icmp-blocks:
rich rules:
2.虚拟机网关设定
步骤:
1)选择网关的类型
vim /etc/sysconfig/network ## 全局网关,针对没有设定网关的网卡生效(对于所有的网卡都生效)
GATEWAY0=172.25.254.77 代表有多个ip,只对指定的IP生效(此时的IP为真实主机的IP地址)
GATEWAY=172.25.254.77 网卡中设定的IP只有一个时
3) 完成后要重启服务 :systemctl restart network
4)测试:要在虚拟机下执行:route -n 出现网关,则设置成功
四.虚拟机网卡出问题:
步骤:(超级用户下)删除重新加载新的网卡
1)在主机下执行:virt-manager 打开了控制器的虚拟器(主机的)
2)点击自己的出错虚拟机,例如desktop--->点击左上角灯泡(show virtu al hart details)------>选中NIC:00:4d:0a,右击选择Remove hardware
3)右键选择Add hardware ------> Network ------> Device model : virtio ---->finish
五.DNS的定义及设定
【1】 DNS:domain name server 域名解析服务,把域名变成IP 。用来提供给客户地址解析
虚拟机不能使用域名进行访问 ,通过给虚拟机自己编辑说明若
【2】设定方法1: 本地解析服务,只能访问该地址的内容
步骤:vim /etc/hosts 本地解析服务 ------> 183.232.231.173 www.baidu.com
设定方法2: DNS的指向(临时的,网卡重新启动,内容会被刷新)
步骤:vim /etc/resolv.conf ## 提供解析的ip ----->nameserver 114.114.114.144
方法3:了解即可
DNS1=114.114.114.114
注意:1)当网络工作模式时DHCP时,系统会自动获取IP,网关、DNS ;那么 /etc/resolv.conf会被会得到的信息修改;若不要获取DNS信息,则在网卡配置文件中/etc/sysconfig/network-scripts/ifcfg-eth0中加入PEERDNS=no
查看: less sysconfig.txt 找/DNS
3)陕西省的DNS:电信:218.30.19.50
【3】设定DNS优先级
默认情况下级别: /etc/hosts > /etc/resolv.conf
步骤:vim /etc/nsswitch.conf ------> 39行 hosts: dns files ## 表示先resolv后hosts进行解析
修改完成即可。
补充:
关掉主机的网关步骤: vim /etc/sysconfig/network-scripts/ifcfg-br0 ---> 把GATEWAY所在行注释掉即可
查看网关:route -n
Linux下的网络设定的更多相关文章
- Linux下TCP网络编程与基于Windows下C#socket编程间通信
一.linux下TCP网络编程基础,需要了解相关函数 Socket():用于套接字初始化. Bind():将 socket 与本机上的一个端口绑定,就可以在该端口监听服务请求. Listen():使s ...
- Linux下的网络远程安装
Linux下的网络远程安装 1.用RHEL6.5光盘安装第一台服务器 2.在第一台服务器上配置YUM服务器 先创建一个挂载 #mount #umount /dev/cdrom #mkdir /mnt/ ...
- 八、Linux下的网络服务器模型
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有循环服务器和并发服务器. 在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提 ...
- linux下Python网络编程框架-Twisted安装
Twisted是python下的用来进行网络服务和应用程序编程的框架,安装Twisted前需要系统预先安装有python. 一.安装Twisted http://twistedmatrix.com/R ...
- netstat 在windows下和Linux下查看网络连接和端口占用
假设忽然起个服务,告诉我8080端口被占用了,OK,我要去看一下是什么服务正在占用着,能不能杀 先假设我是在Windows下: 第一列: Proto 协议 第二列: 本地地址[ip+端口] 第三列:远 ...
- linux下常用网络操作汇总
首先说明下RHEL6下设置IP地址的确和RHEL5下有几点是不同的. 我装完RHEL6中默认选择的是DHCP自动获取方式: [root@localhost ~]# vi /etc/sysconfig/ ...
- linux下常用网络操作汇总 专题
centos 更改主机名,需要更改的几个地方: (1) /etc/sysconfig/network //更改主机名(2)/etc/hostname //更改主机名(3) /etc/hosts ...
- netty学习(一)--linux下的网络io模型简单介绍
linux的内核将全部的外部设备都看作一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令 ,返回一个file descriptor(fd.文件描写叙述符).而对一个socket的读写也会有对 ...
- QT在linux下获取网络类型
开发中遇到这样一个需求,需要判断当前网络的类型(wifi或者4G或者网线),在这里给大家一块分享下: 1.这里有一个linux指令:nmcli(大家自行百度即可) 2.nmcli device sta ...
随机推荐
- Java管程解决生产者消费者问题
同样是实验存档.//.. 依然以生产者消费者问题作为背景. 管程(=“资源管理程序”)将资源和对资源的操作封装起来,资源使用者通过接口操作资源就ok,不用去考虑进程同步的问题. 管程: package ...
- oracle导入时报错
之前在oracle数据库中新建了一个表空间和用户,在新建的用户下导入".dmp"文件是出现了这个错误. 解决方法: 使用管理员登陆进去,创建一个对应的表空间和用户,就OK了. (表 ...
- REST API Design
- Python高阶函数(Map、Reduce、Filter)和lambda函数一起使用 ,三剑客
Map函数 map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 举例说明 比如我们有一个函数f(x)=x2,要把这个函数作用 ...
- 构造函数挨个过 —— String()
本篇整理JavaScript中构造函数String的相关知识,主要分为以下三个部分: 构造函数String()的作用与使用方式: String()的属性和方法: 字符串对象实例属性和方法: 一 构造函 ...
- Linux下安装SVN服务端
安装 使用yum安装非常简单: yum install subversion 配置 2.1. 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下 ...
- 【前端】javascript中10常用的个小技巧总结
javascript中10常用的个小技巧总结 本文转自:http://www.cnblogs.com/libin-1/p/6756393.html 1. new Set() 可能有人知道ES6中提供了 ...
- Jquery 复制功能
使用clipboardjs插件实现鼠标点击复制功能: 官网:https://clipboardjs.com/ 使用示例: 1.引入 <script type="text/javascr ...
- [小问题笔记(四)] Enum枚举类型转换为DataTable( C# )
枚举: public enum ProductType { 小产品=, 大产品, 超大产品 } 转换方法: /// <summary> /// 枚举类型转化为DataTable /// & ...
- 锁(3)-- DB锁
1 前言 数据库大并发操作要考虑死锁和锁的性能问题.看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一 ...