Linux网络配置命令:
Ifconfig命令:
查看和管理本机地址信息;
ifconfig [interface]:显示本机所有处于活动状态的地址
-a :所有接口
eth0 :只显示eth0的信息
ifconfiginterface [aftype] options | address ...
ifconfig the0 ip/mask [up|down]:启用接口
ifconfig eth0 172.16.100.11/16 或者: ifconfigeth0 172.168.100.12 netmask255.255.255.0
注意:配置后立即生效,但是重启后失效;
[关闭]启用混杂模式:[-]promisc
route命令:
配置和管理路由信息
查看本机路由:route �Cn
配置管理本机路由:
添加路由:
route add [-net|-host] target[netmask Nm][gw Gw] [metric N] [[dev] If]
a,添加一条主机路由 :
route add -host 192.168.1.3 gw 192.168.1.1 dev eth0
b,添加一条目标网络路由:
route add -net 192.168.0.0netmask 255.255.255.0 gw 172.16.0.1 deveth0
c,添加一条默认路由:
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
相当于:iproute add default gw 172.16.0.1
删除路由:
route del [-net|-host] target [gw Gw] [netmaskNm] [[dev] If]
a,删除主机路由:
route del -host192.168.1.3
b,删除目标网络路由:
route del -net 192.168.0.0netmask 255.255.255.0
DNS服务的指定:
DNS服务器配置文件: /etc/resolv.conf
配置格式: NameServer DNSserverIP
正向解析:FQDNàIP
如: vim /etc/resolv.conf
dig �C t A www.baidu.com 或者host �Ct A www.baidu.com
反向解析:IP àFQDN
如:vim/etc/resolv.conf
dig �Cx www.baidu.com
netstate命令:
网络状态查看
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l][--all|-a] [--numeric|-n]
[--numeric-hosts][--numeric-ports][--extend|-e[--extend|-e]] [--program|-p]
netstat -t:只显示tcp协议的
-w:raw socket 相关,裸套接字,不使用TCP/UDP的套接字
-l:监听状态的
-a:所有状态
-n:以数字状态显示IP和端口
-e:扩展格式的信息
-p:显示相关的进程和程序
常用组合
-tn:表示不反解析的tcp ,所有TCP相关的连接
-uan:udp相关的连接
-tnl:tcp相关的处于监听状态的
-unl:udp处于监听状态的
-tan:所有的不反解析tcp
显示路由表的:
netstat {--route|-r} [--extend|-e[--extend|-e]] [--verbose|-v][--numeric|-n]
-r:显示内核路由表
-n:数字格式显示
route -n
route -rn
netstat -rne
netstat -rnv
接口统计数据显示:
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
netstat -Ieth0 :不能空格
netstat -i :不接参数,所有接口;
-n:numeric
-a :all
IP命令:
配置linux网络属性
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link 管理设备连接 | addr | addrlabel 管理地址| route 管理路由}
1, ip link set:改变设备的属性;
示例1:up/down 起动/关闭设备。
ip link set dev eth0up[down] 相当于 ifconfig eth0up[down]
示例4:修改网络设备的MAC地址
ip link set dev eth0 address00:01:4f:00:15:f1
2, ip link show--显示设备属性
ipaddr :ip地址添加移除
ip addr { add | del } IFADDR devSTRING
示例1:原来有IP,新增后有两个IP
ip addr add 172.16.100.13/16 deveth0
示例2:删除一个IP
ip addr del 172.12.100.14/16 dev eth0
示例3:查询
Ip addrshow
注意:用ipaddradd设置的ip地址,使用ifconfig是无法看到的。
示例4:指定一个接口别名
ip addr add 172.16.100.13/16 dev etho label 'eth0:0'
示例4:删除一个别名:
ip addr del 172.16.1.12/16 dev eth0 label 'eth0:0'
注意:设置别名后用ifconfig查看验证;
ip route :ip路由管理
ip route add :添加路由
ip route add TARGET via GW devIFACE src SOURCE_IP
示例1:指定默认网关
ip route add default via172.16.0.1
示例2:指定一条路由
ip route add 192.168.0.0/24 via 172.16.0.1
ip route show:查看路由设置,或者ip route list
iproute delete:删除路由
ip route del TARGET
示例1:删除一条主机路由
ip route del 192.168.1.3
示例2:删除默认路由
Iproute del default
ip route flush :清空路由表
[dev IFACE]
[via PREFIX]
ss命令:网络状态查看工具:
ss [option]...[filter]
选项:
-t: tcp协议相关
-u:udp协议相关
-w:裸套接字相关
-x:unix sock相关
-l:listen状态的链接
-a:所有
-n:数字格式
-p:相关的程序以及pid
-e:扩展
-o:显示计时器信息
-m:内存信息
TCP的常见状态:
LISTEN:监听
ESTABLISHED:已经建立的连接
常用组合:
-tan,tanl,-tanlp,-uan
Linux网络属性配置文件:
IP ,MASK,GW,DNS相关配置文件路径:
/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相关的配置(默认不存在,需要手动创建):
/etc/sysconfig/network-scripts/route-IFACE
示例:eth0配置:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0":此配置文件应用到的设备
BOOTPROTO="static" :激活此设备时使用的地址配置协议:常用dhcp,static,none,bootp
IPADDR=172.16.1.111 :IP地址
NETMASK=255.255.0.0:子网掩码
GATEWAY=172.16.1.1 :网关
DNS1=172.16.0.1 :DNS指向
HWADDR="00:0C:29:D7:6A:A5":MAC地址
IPV6INIT="no" :IPV6是否启用
NM_CONTROLLED="yes" : networkmanager简写,此网卡是否接受NM控制;Centos建议为”no"
ONBOOT="yes": 在系统引导是是否激活此设备
TYPE="Ethernet" : 接口类型:常见的ETHERNET,BRIDGE
UUID="092286cb-cad2-4e2e-8cdc-b587c52f23a7" : 设备的UUID
注意:配置完保存后需要重启网络服务:
ifconfig eth0;ifconfig eth0 up或者service networkrestart
/etc/sysconfig/network-scripts/route-IFACE:路由管理
两种风格:
1, TARGET VIA GW
示例:
vim route-eth0
192.168.0.0/24 via172.16.0.1
编译完后重启网络服务:servicenetwork restart
2,每条路由占据3行:
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
示例:
vim route-eth0
ADDRESS0=192.168.20.0
NETMASK0=255.255.255.0
GETWAY0=172.16.0.1
ADDRESS1=192.168.30.0
NETMASK1=255.255.255.0
GETWAY1=172.16.0.1
配置当前主机的主机名:/etc/sysconfig/network:文件:
hostname[HOSTNAME]:查看或者配置主机名
示例:hostname www.magedu.com
网络接口识别并命名相关的udev配置文件:
eth1,eth0:互换下:
/etc/udev/rules.d/70-persistend-net.rules中将NAME="eth0"改为NAME="eth1"
modprobe -r e1000:卸载网卡
modprobe e1000:加载网卡驱动为e1000的网卡
CentOS 7网络属性的配置:
从CentOS/RHEL7起,可预见的命名规则变成了默认。这一规则,接口名称被自动基于固件,拓扑结构和位置信息来确定。现在,即使添加或移除网络设备,接口名称仍然保持固定,而无需重新枚举,和坏掉的硬件可以无缝替换。
eno表示:
eno 表示:ETHERNET网卡,
o:表示:集成的设备提供的索引信息可用,且可预测则根据此索引进行命名
回归传统方式命名:
例如:修改eno16777736为eth0操作:
a,vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 将里面的NAME项修改为eth0
b,b,重命名该配置文件
cd /etc/sysconfig/network-scripts/
mv ifcfg-eno16777736 ifcfg-eth0
c,编辑/etc/default/grub并加入“net.ifnames=0biosdevname=0 ”到GRUBCMDLINELINUX变量来实现的。
d,运行命令grub2-mkconfig-o /boot/grub2/grub.cfg 来重新生成GRUB配置并更新内核参数。
e,创建,/etc/udev/rules.d/XXX-net.rules规则是必要的,以前系统的net规则名称是70-persistent-net.rules,这里我也按照这个名字定义规则!
cd /etc/udev/rules.d
vim 70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add",DRIVERS=="?*", ATTR{address}=="00:0c:29:75:6f:38",ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
CentOS下地址配置工具:nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device :相当于IP命令的link工具;
nmcli device status相当于ip linke show
nmcli device show eth0:指定接口当前状态信息
connection:相当于ip命令的addr工具:
nmcli connection show :当前可用有效链接;
修改IP等属性:
nmcli con modify eth0 ipv4.addresses 172.16.100.12/16
nmcli con modifyeth0 ipv4.gateway 172.16.0.1 :网关设置
nmcli con modify eth0ipv4.dns 172.16.0.1 :DNS指定
nmcli con modify eth0+ipv4.dns 172.16.0.2 :增加一条DNS记录
nmcli con down eth0; nmclicon up eth0
nmcli con show eth0;
移除一个ip:
nmcli con modify eth0-ipv4.addresses 172.16.100.12/16 :移除一个IP地址
nmcli con down eth0 ; nmcli con up eth0
nmcli dev show eth0
nmcli g status :NetworkManager'sgeneral status and operations
主机名称配置工具:
hostnamectl status :查看主机名:
hostnamectl set-hostname www.magedu.com:设置主机名: