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 ...
随机推荐
- 关于MVC 中EF调用存储过程
Entity Framework 4.3 中使用存储过程 分类:ASP.NET MVC 3, ASP.NET 0 尽管 Entit ...
- JSON and XML Serialization in ASP.NET Web API
https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/json-and-xml-seri ...
- 项目发布后 Tomcat中只有web-INF文件夹
这是有文件夹没有加载 解决办法如下
- .Net HttpClient form-data格式请求
var multipartFormDataContent = new MultipartFormDataContent(); multipartFormDataContent.Add(new Stri ...
- Linux用户及权限分配
一.用户分类 所有者 u; 所属组 g; 其它用户 o; 所有用户 a; 二.用户管理 //查看用户 id user //添加用户 useradd user //设置密码 passwd user // ...
- 第十一篇:Spark SQL 源码分析之 External DataSource外部数据源
上周Spark1.2刚发布,周末在家没事,把这个特性给了解一下,顺便分析下源码,看一看这个特性是如何设计及实现的. /** Spark SQL源码分析系列文章*/ (Ps: External Data ...
- geoserver源码学习与扩展——跨域访问配置
在 geoserver源码学习与扩展——restAPI访问 博客中提到了geoserver的跨域参数设置,本文详细讲一下geoserver的跨域访问配置. geoserver的跨域访问依赖java-p ...
- JavaScript高级程序设计-读书笔记(1)
第1章 JavaScript简介 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: l ECMAScript:提供核心语言功能: l 文 ...
- JDBC 插入大批量数据
时不时会有大量数据的插入操作,方式有多种,效率不同: 1. statement 2. prepareStatement 3. statement/prepareStatement + batch 4. ...
- 使用cxf调用webservice
1.引入maven包 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt ...