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 ...
随机推荐
- CentOS的Qt3和Qt4问题
在有的系统中,装有Qt3和Qt4, 在使用qmake生成Makefile后,直接make, 出错,说没有头文件, 如果调用了qt3的qmake,那么上头的INCPATH里的头文件路径也指向了Qt3, ...
- SQLite-C#-帮助类
public static class SQLiteHelper { private static string connectionString = string.Empty; #region vo ...
- Pandas 数据分析基础
Pandas 安装 anaconda 安装: conda list pandas 查看是否已经安装 conda install pandas conda update pandas pip 安装 pi ...
- Learning Perl 第九章习题第二题
把输入文件中的所有Fred换成Larry, 不区分大小写. 知识点 1. 文本文件读写 2. 简单的正则替换 3. unless 的用法 4. $_ 的用法
- python2.7.10 VS2015编译方法
打开 Python-2.7.10\PCbuild目录 然后设置只编译python和pythoncore: 好了,编译试一试. 出现了好几个错误.由于 VS2015 取消了 timezone 的定义,改 ...
- JS的scrollIntoView
scrollIntoView(alignWithTop) 滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素.如果alignWithTop为true,或者省略它,窗口会尽可能滚动到自身顶 ...
- MVVM架构简单使用
版权声明:本文为博主原创文章,未经博主授权不得转载. 项目github地址 https://github.com/zhangjiahuan8888/mvvmDemo/tree/master 开篇 MV ...
- 《Think in Java》(十四)类型信息
简介 RTTI,RunTime Type Information,运行时类型信息.Java 在运行时识别对象和类的信息主要有两种方式:一种是"传统的"RTTI,它假定我们在编译时已 ...
- python中enumerate()函数用法
python中enumerate()函数用法 先出一个题目:1.有一 list= [1, 2, 3, 4, 5, 6] 请打印输出:0, 1 1, 2 2, 3 3, 4 4, 5 5, 6 打印输 ...
- 引发事件代码封装成OnEventName
引发事件的代码,通常可以封装成“On+事件名称”的方法(On:表示当“什么什么”的时候),如下所示: 1:引发事件代码: if (PropertyChanged != null)//为了实现将数据源的 ...