(转)linux配置网卡的命令
linux配置网卡的命令
原文:http://blog.51cto.com/lanxianting/1754923
1、配置命令
如果一台服务器需要通外网,能被远程连接,就得给这个台服务器配置ip,子网掩码和网关和DNS,下面就来说下网卡的配置方式及各种命令。
配置方式:
1、静态指定,ifconfig、ip
ifconfig命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@magedu ~] # ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.254.97 netmask 255.255.0.0 broadcast 172.18.255.255 inet6 fe80::20c:29ff:fe7c:7e0b prefixlen 64 scopeid 0x20<link> ether 00:0c:29:7c:7e:0b txqueuelen 1000 (Ethernet) RX packets 4402 bytes 722088 (705.1 KiB) RX errors 0 dropped 26 overruns 0 frame 0 TX packets 103 bytes 12847 (12.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 // 环回地址 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 2 bytes 98 (98.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 98 (98.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
直接ifconfig命令可以查看当前启用的网卡及IP地址,子网掩码,mac地址等。后面加个-a选项可以显示出当前服务器上所有的网卡信息,包括未启用的。
1
2
3
4
5
|
[root@magedu ~] # ifconfig eno33554960 192.168.0.100/24 up eno33554960: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::20c:29ff:fe7c:7e15 prefixlen 64 scopeid 0x20<link> |
用法: ifconfig ethX IP/MASK up|down
ifconfig后面直接接网卡名称 IP地址和掩码可以直接配置IP,并且是立即生效的,但不是永久生效。
也可以直接ifup ethX /ifdown ethX 启动网卡/关闭网卡。
1
2
3
4
|
[root@magedu ~] # ifconfig eno33554960 promisc //开启混杂模式 [root@magedu ~] # ifconfig eno33554960 -promisc //关闭混杂模式 eno33554960: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500 |
混杂模式:指的是一台服务器能够接收到所有的数据流,无论目标地址是否是它,默认情况下网卡只把发给本机的包(包括广播包)传送给上层程序。一般是网络管理员诊断网络问题时开启。
route:路由查看及管理
路由条目类型:
主机路由:目标地址为单个IP (host )
网络路由:目标地址为IP网络 ( net )
默认路由:目标为任意主机,0.0.0.0/0.0.0.0
1
2
3
4
5
6
|
[root@magedu ~] # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.18.0.1 0.0.0.0 UG 100 0 0 eno16777728 172.18.0.0 0.0.0.0 255.255.0.0 U 100 0 0 eno16777728 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eno33554960 |
直接route的话会把ip地址反解成主机名,如果路由中有大量的单机地址,会导致route显示非常的慢,而且效率非常低。
-n:以数字形式显示路由信息.
添加路由条目: [子网掩码] [下一跳]
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
1
2
3
4
5
|
[root@magedu ~] # route add -net 10.0.0.0/8 gw 172.18.0.1 //网卡可以省略 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.18.0.1 0.0.0.0 UG 100 0 0 eno16777728 10.0.0.0 172.18.0.1 255.0.0.0 UG 0 0 0 eno16777728 |
注意,下一跳的地址必须跟网卡的IP在同一网段上。
删除路由条目:
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
[root@magedu ~]# route del -net 10.0.0.0/8
[root@magedu ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 172.18.0.1 0.0.0.0 UG 100 0 0 eno16777728
default:默认路由,相当于0.0.0.0
netstat命令:状态及统计数据查看
-rn:以数字形式显示内核路由表 相当于route -n
显示网络连接状态:
-t:显示tcp协议的相关的连接 tcp:面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后还要拆除连接
-u:显示udp协议的相关连接 udp:无连接协议,直接发送数据报文
-w:显示raw socket(套接字)的相关连接
-l:显示正在监听的相关连接
-a:显示所有连接
-n:以数字形式显示IP和端口
-p: 显示相关的进程和PID
常见的组合: -ntlp /-utlp
1
2
3
4
5
6
7
|
[root@magedu ~] # netstat -ntlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID /Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1373 /sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2010 /master tcp6 0 0 :::22 :::* LISTEN 1373 /sshd tcp6 0 0 ::1:25 :::* LISTEN 2010 /master |
显示接口的统计数据:
netstat -I //显示所有接口
netstat -Idev //显示单个网卡接口
1
2
3
4
5
6
|
[root@magedu ~] # netstat -I Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eno16777 1500 31798 0 124 0 1907 0 0 0 BMRU eno33554 1500 130267 0 0 0 141 0 0 0 BMPRU lo 65536 0 0 0 0 0 0 0 0 LRU |
ip命令:
ip link:网络设备配置
ip link show:显示网络设备信息
ip link set :修改网络设备信息
1
2
3
4
5
6
7
|
[root@magedu ~] # ip link show //显示二层网络信息 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link /loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link /ether 00:0c:29:7c:7e:0b brd ff:ff:ff:ff:ff:ff 3: eno33554960: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link /ether 00:0c:29:7c:7e:15 brd ff:ff:ff:ff:ff:ff |
修改eno33554960的名称: 修改前得把网卡down掉。
用法:ip link set name ethX Name ethX
1
2
3
4
5
|
[root@magedu ~] # ip link set eno33554960 down [root@magedu ~] # ip link set eno33554960 name eth0 [root@magedu ~] # ip link show 3: eth0: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000 link /ether 00:0c:29:7c:7e:15 brd ff:ff:ff:ff:ff:ff |
把eth0的混杂模式去掉:
用法:ip link set FUNCTION on/off ethX
1
2
3
4
|
[root@magedu ~] # ip link set promisc off eth0 [root@magedu ~] # ip link 3: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000 link /ether 00:0c:29:7c:7e:15 brd ff:ff:ff:ff:ff:ff |
netns PID : 虚拟化,用于将接口移动到指定的网络名称空间 //centos7以下不支持
1
2
3
4
5
6
7
8
|
[root@magedu ~] # ip netns help Usage: ip netns list // 列出netns ip netns add NAME // 添加netns ip netns delete NAME // 删除netns ip netns identify PID ip netns pids NAME ip netns exec NAME cmd ... // 在指定的netns中运行命令 ip netns monitor |
添加一个叫firstnet的虚拟化网络,并把eth0移动到此网络中,查看虚拟化网络信息
1
2
3
4
5
6
7
8
9
|
[root@magedu ~] # ip netns add firstnet [root@magedu ~] # ip netns firstnet [root@magedu ~] # ip link set eth0 netns firstnet [root@magedu ~] # ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link /loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link /ether 00:0c:29:7c:7e:0b brd ff:ff:ff:ff:ff:ff |
查看虚拟化网络信息:
1
2
3
4
5
|
[root@magedu ~] # ip netns exec firstnet ip link show 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT link /loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 3: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 link /ether 00:0c:29:7c:7e:15 brd ff:ff:ff:ff:ff:ff |
删除虚拟化网络: //删除后eth0可以再物理地址查到
1
|
[root@magedu ~] # ip netns add firstnet |
ip addr:显示网卡信息(包括IP)
ip addr show:显示网卡信息
ip addr add IPADDR dev ethX :添加IP
ip addr del IPADDR dev ethX:删除IP
1
2
3
4
5
6
7
|
[root@magedu ~] # ip addr show 2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link /ether 00:0c:29:7c:7e:0b brd ff:ff:ff:ff:ff:ff inet 172.18.254.97 /16 brd 172.18.255.255 scope global eno16777728 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe7c:7e0b /64 scope link valid_lft forever preferred_lft forever |
添加一个IP:
1
2
3
4
5
6
7
8
9
10
|
[root@magedu ~] # ip addr add 192.168.1.100/24 dev eno33554960 [root@magedu ~] # ip addr 3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link /ether 00:0c:29:7c:7e:15 brd ff:ff:ff:ff:ff:ff inet 172.18.252.96 /16 brd 172.18.255.255 scope global dynamic eno33554960 valid_lft 83229sec preferred_lft 83229sec inet 192.168.1.100 /24 scope global eno33554960 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe7c:7e15 /64 scope link valid_lft forever preferred_lft forever |
删除一个IP:
1
|
[root@magedu ~] # ip addr del 192.168.1.100/24 dev eno33554960 |
或者可以清空一个网卡的ip:
ip addr flush dev ethX
ip route: 实现路由表管理
ip route add:添加路由
ip route del:删除路由
ip route show:显示路由
ip route flush :清空路由
用法: ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]
[ 目标地址 ] [下一跳] [指定源地址]
1
2
3
|
[root@magedu ~] # ip route add 192.168.1.0/24 via 172.18.0.1 dev eno33554960 [root@magedu ~] # ip route list 192.168.1.0 /24 via 172.18.0.1 dev eno33554960 |
指定网卡上的哪个ip:
1
2
3
4
5
|
[root@magedu ~] # ip addr add 172.18.254.100/16 dev eno33554960 [root@magedu ~] # ip addr show inet 172.18.252.96 /16 brd 172.18.255.255 scope global dynamic eno33554960 valid_lft 81531sec preferred_lft 81531sec inet 172.18.254.100 /16 scope global secondary eno33554960 |
1
2
3
|
[root@magedu ~] # ip route add 10.0.0.0/8 via 172.18.0.1 dev eno33554960 src 172.18.254.100 [root@magedu ~] # ip route show 10.0.0.0 /24 via 172.18.0.1 dev eno33554960 src 172.18.254.100 |
删除路由:
1
|
[root@magedu ~] # ip route del 10.0.0.0/24 |
清空路由表: 需指明具体范围
1
|
[root@magedu ~] # ip route flush 172.18/16 |
ss命令: 取代netstat命令
ss [option] [FILTER]
选项:
-t:显示tcp协议的相关的连接
-u:显示udp协议的相关连接
-w:显示raw socket(套接字)的相关连接
-l:显示正在监听的相关连接
-a:显示所有连接
-n:以数字形式显示IP和端口
-p: 显示相关的进程和PID
-m:内存用量
-o:计时器信息
ss还有过滤的功能:
1
2
3
|
[root@magedu ~] # ss -tan state established //指明已建立连接的 Recv-Q Send-Q Local Address:Port Peer Address:Port 0 52 172.18.254.97:22 172.18.252.65:50817 |
2、文件配置
通过修改配置文件来配置IP:
第一种方法:
centos6可以在命令行输入setup或者system-config-network,通过图形界面来配置IP。
centos7可以在命令行输入nmtui,通过图形界面来配置IP。
第二种方法:
修改/etc/sysconfig/network-scripts/ifcfg-ethX文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@magedu network-scripts] # cat ifcfg-eno16777728 TYPE=Ethernet // 设备类型 BOOTPROTO=static // 激活此设备时用什么协议来配置接口属性,有DHCP.BOOTP.Static.non DEFROUTE= yes // 默认路由 PEERDNS= yes // 如果用DHCP协议,是否允许DHCP Server分配的dns来覆盖本地手动指定的DN IPV6INIT= yes // 是否初始化ipv6 NAME=eno16777728 // 设备别名 UUID=7d317209-c3a3-40c6-948c-08e9ecfbd5cb // 设备的唯一标识 DEVICE=eno16777728 // 设备名称 ONBOOT= yes // 是否开机启动 IPADDR= //IP 地址 NETMASK= // 子网掩码 GATEWAY= // 网关 DNS1= // 定义DNS DOMAIN= // 定义DNS域 USERCTL=no // 是否允许普通用户控制此设备 NM_CONTROLLED=no // 是否使用NetworkManager服务来控制接口 /不建议开启 |
修改完后重启network服务: 此方式配置的IP地址永久有效
centos6:service network restart
centos7:systemctl restart network.service
路由配置文件:
在/etc/sysconfig/network-scripts/route-ethX
支持两种配置方式,但不可混用
1、每行一个路由条目
target via gw
1
2
3
4
5
|
[root@magedu network-scripts] # vim ifcfg-eno33554960 [root@magedu network-scripts] # cat route-eno33554960 192.168.0.0 /24 via 172.18.0.1 [root@magedu network-scripts] # ip route show 192.168.0.0 /24 via 172.18.0.1 dev eno33554960 proto static metric 100 |
2、每三行一个路由条目:#表示数字,可以写多组路由条目
ADDRESS#=target
NETMASK#=mask
GATEWAY#=nexthop
1
2
3
4
5
6
|
[root@magedu network-scripts] # cat route-eno33554960 ADDRESS0=10.0.0.0 NETMASK0=255.0.0.0 GATEWAY0=172.18.0.1 [root@magedu network-scripts] # ip route show 10.0.0.0 /8 via 172.18.0.1 dev eno33554960 proto static metric 100 |
(转)linux配置网卡的命令的更多相关文章
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令
linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...
- Linux中网卡相关命令以及SSH连接远程主机
ifconfig 命令 查看与配置网络状态命令 关闭与启动网卡 ifdown 网卡设备名 禁用该网卡设备 ifup 网卡设备名 启用该网卡设备 查询网络状态 netstat 选项 -t 列出TCP协议 ...
- linux 配置网卡、远程拷贝文件、建立软硬链接、打包/解包、压缩/解压缩、包操作、yum配置使用、root密码忘记
目录 一.配置网卡 二.xshell连接 三.远程拷贝文件 四.建立软硬连接 五.打包/解包和压缩/解压缩 六.包操作 七.配置yum源 配置yum源 配置阿里云源 常用命令 yum其他命令 八.重置 ...
- linux配置网卡
我爱折腾.在本地虚拟机里装了linux的环境.要配置linux的网卡文件. 如下: vi /etc/sysconfig/network-script/ifcfg-eth0; 刚装完系统,没有vim , ...
- Linux配置网卡、网卡会话、网卡bonding
配置网卡 1.路径: /etc/sysconfig/network-scripts/ifcfg-eno16777728 2.含义:HWADDR=00:0C:29:9C:D6:4D Mac地址 ...
- linux物理网卡检测命令mii-tool
mii-tool #是用于查看.管理物理的网络接口的状态,还可以配置网卡需要的协商方式. 一 ,查看网卡工作状态 mill-tool [网卡名] #查看物理网卡连接状态 -V 显示版本信息 ...
- linux学习(二)linux配置网卡以及常见网络问题排查
实验环境环境:mac,vmware fusion 一.常用的虚拟机网络连接模式. NAT:推荐方式.它可以使你在切换网络环境(比如在工作中和家里)时,不需要修改虚拟主机的配置,而维持正常的上网功能. ...
- linux配置网卡绑定
1.确定好要绑定的那两个网口 我这边要绑定的是两个业务口 em2.em3 2.配置ifcfg-bond0.em2.em3 3.修改配置文件/etc/modprcode.d/disk.conf 底部添 ...
- linux配置mysql,tomcat命令vi
[root@yangchehome bin]# ./mysqld_safe -user=mysql & [1] 17135 [root@yangchehome bin]# 140316 16: ...
随机推荐
- C++STL库中map容器常用应用
#include<iostream> #include<cstdio> #include<map> //按键值大小构成二叉搜索树 using namespace s ...
- HDOJ1059(多重背包)
1.解法一:多重背包 #include<iostream> #include<cstdio> using namespace std; #define MAX(a,b) (a& ...
- JavaScript中对象的属性
在JavaScript中,属性决定了一个对象的状态,本文详细的研究了它们是如何工作的. 属性类型 JavaScript中有三种不同类型的属性:命名数据属性(named data properties) ...
- Learning Python 011 高级特性 2
Python 高级特性 2 列表生成式 列表生成式就是指类似这样的代码:[x for x in range(1, 11)] >>> L = [x for x in range(1, ...
- spider(一)
此爬虫内容无架构: 1.URL管理器:用集合,mysql表,缓存等 2.网页下载器:实现网页下载, urllib2:官方基础模块 requests:三方的(更强):伪装成浏览器访问,代理登录,http ...
- 3. 文件上传靶机实战(附靶机跟writeup)
upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs 运行环境 操作系统:推荐windows ...
- CodeForces 279B Books (滑动窗口)
题意:给定n本书的阅读时间,然后你从第 i 本开始阅读,问你最多能看多少本书在给定时间内. 析:就是一个滑动窗口的水题. 代码如下: #pragma comment(linker, "/ST ...
- 网页设计与开发:HTML、CSS、JavaScript实例教程 (郑娅峰) pdf扫描版
网页设计与开发:HTML.CSS.JavaScript实例教程从实用角度出发,详细讲解了HTML.CSS和JavaScript的基本语法和设计技巧,通过一个实用的班级网站的规划.设计.实现到发布过程, ...
- Other - 个人对知识讨论、分享等平台上抄袭乱象的看法
在某论坛上看到这样一句话,深表赞同.
- Go:定时执行任务time.sleep和time.tick的优劣
golang 写循环执行的定时任务,常见的有以下三种实现方式:1.time.Sleep方法: for { time.Sleep(time.Second) fmt.Println("我在定时执 ...