linux--网络管理-ifconfig,route,netstat,ip,ss,dns,主机名网卡名修改bond
cat /etc/services
查看常见端口对应的服务
查一查某个端口号,是哪个进程在用 lsof -i :6010
49152-65535:动态端口或私有端口,客户端程序随机使用的端口 其范围的定义:
/proc/sys/net/ipv4/ip_local_port_range
TCP 三次握手
seq是发给对方包的序号,ack是希望对方下次发给我包的序号
SYN 第一次通信都要有SYN=1,所以只在前两次握手 有SYN
ACK是对SYN的回应,所以只在后两次有

sync半连接和accept全连接队列
ss –lnt
/proc/sys/net/ipv4/tcp_max_syn_backlog 未完成连接队列大小,建议调整大小为1024以上
/proc/sys/net/core/somaxconn 完成连接队列大小,建议调整大小为1024以上
注意:以前老的命令如 ifconfig route netstat 都不提倡使用了,提倡使用新包iproute包所安装的一些命令如 ip: object {link, addr, route}, ss, tc
ifconfig [interface] //显示网卡信息,默认只显示激活网卡的信息
ifconfig -a //显示所有网卡信息,包括关闭的网卡
ifconfig IFACE [up|down] // ifconfig eth1 down
ifconfig interface [aftype] options | address ...
ifconfig IFACE IP/NETMASK [up] //临时设置 ip ifconfig eth1 1.1.1.1/24
ifconfig IFACE IP netmask NETMASK // ifconfig eth1 1.1.1.1 255.255.255.0
ifconfig eth1:123 1.1.1.1/24 //临时增加ip,同一块网卡增加了ip
route
查看:route -n
添加:route add
目标:192.168.1.3 网关:172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目标:192.168.0.0 网关:172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
默认路由,网关:172.16.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1
删除:route del
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
目标:192.168.1.3 网关:172.16.0.1
route del -host 192.168.1.3
目标:192.168.0.0 网关:172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0
默认路由,网关172.16.0.1
route del default gw 172.16.0.1
netstat
- -t: tcp协议相关
- -u: udp协议相关
- -w: raw socket相关
- -l: 处于监听状态
- -a: 所有状态
- -n: 以数字显示IP和端口
- -e:扩展格式
- -p: 显示相关进程及PID
- 显示路由表 netstat -nr
ip
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
ip addr 查看所有网卡所有地址
ip addr add 1.1.1.1/24 dev eth1 给eth1网卡增加其他的ip,是增加啊
ip addr add 1.1.1.1/24 dev eth1 label eth1:123 给eth1网卡增加其他的ip,并且起个别名eth1:123
ip addr del 1.1.1.1/24 dev eth1 删除eth1网卡上的1.1.1.1 ip
ip a flush dev eth1 清除eth1上的所有ip
ip link set eth1 down 把网卡关掉
ip link set eth1 name eth100 修改网卡名称,需要先把网卡关掉
ip route add 192.168.0.0/24 via 172.16.0.1
ip route add 192.168.1.13 via 172.16.0.1
ip route add default via 172.16.0.1 //添加默认路由
ip route del 192.168.0.0/24 via 172.16.0.1 //删除路由
ip route flush [dev IFACE] [via PREFIX] //清空路由表
ip route flush dev eth0
linux想启用路由转发功能(当路由器)
修改内核参数 /proc/sys/net/ipv4/ip_forward 1为启用
路由的 Metric值表示 “花钱”,值越大,花钱越大,所以系统会挑花钱少的路走,比如有两条默认路由,那么Metric值小的路由生效。添加路由时,可以加上metric 参数,指定Metric值
ss socket statistics
格式:ss [OPTION]... [FILTER]
- -t: tcp协议相关
- -u: udp协议相关
- -w: 裸套接字相关
- -x:unix sock相关
- -l: listen状态的连接
- -a: 所有 显示处在listening 和 非listening 状态的套接字
- -n: 数字格式
- -r :解析数字地址/端口
- -p: 相关的程序及PID
- -e: 扩展的信息
- -m:内存用量
- -o:计时器信息
FILTER : [ state TCP-STATE ] [ EXPRESSION ]
常见连接状态
- LISTEN: 监听
- ESTABLISHED:已建立的连接
- FIN_WAIT_1
- FIN_WAIT_2
- SYN_SENT
- SYN_RECV
- CLOSED
- connected – All the states except for listen and closed
ss -t4 state time-wait 列出处在 time-wait 状态的 IPv4 套接字
ss -nt state connected dport = :80 显示对方端口是 80的套接字
EXPRESSION:
示例:’( dport = :ssh or sport = :ssh )’
ss -at '( dport = :ssh or sport = :ssh )' 显示所有源端口或目的端口为 ssh 的套接字
ss -o state established '( dport = :http or sport = :http )' 显示所有已建立 的HTTP连接
匹配远程地址和端口号
ss dst 192.168.25.100
ss dst 192.168.25.100:50460
匹配本地地址和端口号
ss src 192.168.25.140

路由配置文件
/etc/sysconfig/network-scripts/route-IFACE
如:10.0.0.0/8 via 172.16.0.1
注意:需service network restart生效
给网卡增加其他ip与别名:
关闭NetworkManager服务
创建 ifcfg-eth1:123 文件
写上网卡的信息,肯定越简单越好,只需要配个ip
然后重启网卡服务
Linux ip 可以手动配置一个 还能自动获取一个,但是自动获取的只能在主配置文件里
centos6 修改网卡名称:网卡名字相关文件:vim /etc/udev/rules.d/70-persistent-net.rules (需要重启系统)
Centos7修改网卡名称
Centos7 修改网卡名称 默认7采用的网卡命名方式为ens33之类的,没有按照顺序来,不是很习惯,所以可以修改为传统的eth0
先把网卡的配置文件改掉,(网卡文件名称,配置文件中的设备名与name)
然后按照下面的步骤修改grub
必要时添加文件 vim /etc/udev/rules.d/70-persistent-net.rules (这一步 可以不用做。必要时)
写入一下内容 SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:0c:29:47:a4:e9",ATTR{type}=="1" ,KERNEL=="eth*",NAME="eth0" //网卡与名字对应关系,只需要修改mac地址与后面的name
(1) 编辑/etc/default/grub配置文件 GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0" // 在rhgb quiet后面增加
或:修改/boot/grub2/grub.cfg
(2) 为grub2生成其配置文件 grub2-mkconfig -o /boot/grub2/grub.cfg
(3) 重启系统
sed -rn '/^[[:space:]+linux16]/s#(.*)#\1 我想假加的字符串 #p' /boot/grub2/grub.cfg //找到linux16的行,在行的最后面加上你想要的东西
sed -rn '/^[[:space:]+linux16]/s#(.*)#\1 net.ifnames=0 #p' /boot/grub2/grub.cfg //这个命令会把网卡名字改为传统的网卡 eth1.。。。
sed -rn '/rhgb quiet/s#(.*)(rhgb quiet)("$)#\1\2 int int \3#p' /etc/default/grub
dns
配置文件 /etc/resolv.conf
主机名的修改
hostname 可以查看主机名也可以设置主机名(临时设置)
centos6: /etc/sysconfig/network
centos7: /etc/hostname
/etc/hosts 作用类似于 dns,把名字和ip地址做解析,所以直接在这里写好,就不用连接dns了
/etc/hostname与/etc/hosts的区别
- /etc/hostname中存放的是主机名
- /etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系,你可以为任何一个IP指定任意一个名字
Linux系 统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。由此,/etc /hosts于设置hostname是没直接关系的,仅仅当你要在本机上用新的hostname来映射自己的IP时候才会用到/etc/hosts文件。 两者没有必然的联系。
网卡绑定bond
- Mode 0 (balance-rr)
- 轮转(Round-robin)策略:从头到尾顺序的在每一个slave 接口上面发送数据包。本模式提供负载均衡和容错的能力
- Mode 1 (active-backup)
- 活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口 失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有 一个外部端口上可见
- Mode 3 (broadcast)
- 广播策略:在所有的slave接口上传送所有的报文,提供容错能力
- active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特 殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需 要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel
做法:
新建 网卡文件ifcfg-bond0
内容还是一般的网卡内容,该怎么配就怎么配 ,加入下面的内容
BONDING_OPTS= “miimon=100 mode=1”
mode Mode几
miimon 是用来进行链路监测的 100ms
在需要绑定的网卡里面加入下面的,加入之后,这个网卡的ip设置就无效了
MASTER=bond0
SLAVE=yes
centos7下 推荐使用的工具 nmcli ----networkmanager client
nmcli 有很多子命令 其中用的最多的就是 connection device
device 表示链路层的信息
nmcli device
nmcli device show eth0
connection 表示网络层的信息
nmcli connection
nmcli connection show eth1
当我们在测试环境中,经常需要修改网卡地址,一会改过来改过去的,很烦。所以通过nmcli工具可以 为一个网卡设定多个方案,只需要用哪个就启用那个就OK了。
如下命令 我们为eth1网卡 添加了名字为eth1-test的方案,类型为以太网,ip地址获取方式为手动设置

设置好之后,想要启用的话,nmcli connection up eth1-test //它启动之后,另外的就会自动关闭
他本质上还是创建一个 同名的eth1-test文件,当然我们也可以自己创建一个这个文件 然后 nmcli connection reload 重新加载一下 就有了。
删除的话 nmcli connection delete eth1-test 会自动切换

上面的是 添加一个自动获取的方案
当然还可以为某一个方案加地址,多个地址
为eth1-test方案 增加地址,加地址本质上还是修改了配置文件

也可以通过 nmcli 设置bond
添加一个bond ifname指的是生成的bond设备名

然后将两个网卡加进去就欧了,这里用到的本质是,给eth0 eth1网卡都增加了一个方案,而这个方案就是bond模式,到时候一切换,就OK了

网桥
添加一个网桥设备

给eth0网卡 添加一个叫mybr0-eth0的方案,类型为br,并且加到br0网桥里

这种通过nmcli实现的网桥 是写到配置文件里的,可以保存的
tcpdump 抓包
tcpdump -i eth0 icmp -nn //抓包
linux--网络管理-ifconfig,route,netstat,ip,ss,dns,主机名网卡名修改bond的更多相关文章
- linux设置静态IP和DNS以及改网卡名
ubuntu Ubuntu如果是desktop版,由于desktop版安装了NetworkManager,修改完interfaces文档中的内容,不会生效,需要先修改/etc/NetworkManag ...
- Linux网络管理——ifconfig、route
Linux识别到的网络设备 eth# eth0 eth1 以太网卡 wifi# wifi0 wifi1 无线网卡 ppp# ppp0 ppp1 拨号连接 lo 本地环回网卡 ...
- Linux指令--traceroute,netstat,ss
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一 ...
- Linux之如何进行固定IP、DNS等设置
前提:虚拟机Linux centOS6.6 Linux如何设置固定IP.dns.网关 1.切换到root账号 2.#cd /etc/sysconfig/network-scripts 进入网卡的设置 ...
- Linux下ifconfig不显示ip地址问题总结
问题一:ifconfig之后只显示lo,没有看到eth0 ? eth0设置不正确,导致无法正常启动,修改eth0配置文件就好 ubuntu 12.04的网络设置文件是/etc/network/inte ...
- Linux取代ifconfig指令的ip指令
- Centos 7 安装 设置 IP地址,DNS,主机名,防火墙,端口,SELinux (实测+笔记)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.虚拟系统安装 1.1 使 ...
- 二十、网络ifconfig 、ip 、netstat、ss之二
ip 网络层协议 ip地址 点分十进制分为4段,范围 0-255 ip分类 A 占据1段,最左侧一段第一位固定为0 0 000 0000 - 0 111 1111 0 - 127:其中0为网络,12 ...
- CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法
CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法 CentOS 7.4 中, 网卡命名方式发生改变, 可预测功能命名: 网卡简要名称组成格 ...
随机推荐
- 通过FormData对象可以组装一组用 [XMLHttpRequest]发送请求的键/值对,它可以更灵活方便的发送表单数据。
工作记录用 1 大概页面,点击选择按钮,选择文件,填写备注并可以上传前预览,然后点击上传按钮开始上传 2 html+js代码 <h2>Test</h2> <div id= ...
- 解决Macbook Pro蓝牙不可用问题
谷歌搜索了下,在威锋网看到一个帖子,需要关机重置电源管理单元和系统NVRAM恢复出厂设置,具体操作如下:1.关机2.同时按下shift+control+option+power,保持5秒左右3.先按下 ...
- jenkins新建任务详解
一.新建任务 点击左侧新建任务 输入任务名称-->选择构建一个自由风格的软件项目-->确认 进入任务配置页面 二.基本配置 General 配置构建保留天数,保留个数,必要时并发构建 源码 ...
- Thinkphp中验证码不显示解决办法
1.页面是否存在bom头, 2.入口文件中是否有define(‘APP_DEBUG’, TRUE); //是否开启调试模式,上线时请改为false
- Python学习(学习视频b站小甲鱼)
001讲 0. Python 是什么类型的语言? Python是脚本语言以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则. 特性: 语法和结构通常比较简单 学习和使用通常比较简单 通常以 ...
- spring 的异步处理
1.先解析几个类的用法 1.1 java.lang.annotation.Annotation @Target(ElementType.FIELD) @Retention(RetentionPoli ...
- AcWing 847. 图中点的层次
队列 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm ...
- VS2017编写c/c++汇编函数并调用
首先在VS里面创建个空项目,然后添加汇编文件 .asm, 右键asm文件属性 --- 常规,改成下图的设置 , 从生成中排除改为否, 项类型改为自定义生成工具 然后点确定. 再次右键asm文 ...
- Bug搬运工-Forerunner CRC error on 54SG/53SG3 triggers watchdog timeout crash
这个bug,一般是设备4948 Crash的情况: 标志1:Error Message C4K_SUPERVISOR-2-SOFTERROR: memory inconsistency detecte ...
- 【原】shell增加定时任务
通过shell脚本增加定时任务:#CRON_FILE="/var/spool/cron/root" (centos系统) CRON_FILE="/var/spool/cr ...