配置Linux网络属性:ip命令
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
link OBJECT:
ip link - network device configuration
set
dev IFACE
可设置属性:
up and down:激活或禁用指定接口;
show
[dev IFACE]:指定接口
[up]:仅显示处理激活状态的接口
ip address - protocol address management
ip addr { add | del } IFADDR dev STRING
[label Label]:添加地址时指明网卡别名
[ scope { global | link | host } ]:指明作用域
global:全局可用;
link:仅链接可用;
host:本机
[broadcast ADDRESS]:指明广播地址
ip addr show - look at protocol address
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip addr flush - flush protocol address
使用格式同show
ip route - routing table management
ip route add
添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
主机路由:IP
网络路由:NETWORK/MASK
添加网关:ip route add default via GW dev IFACE
ip route delete
删除路由:ip route del TARGET
ip route show
ip route flush
[dev IFACE]
[via PREFIX]
ss命令:
格式:ss [options]... [ FILTER ]
选项:
-t:tcp协议相关
-u:udp协议相关
-w:裸套接字相关
-x:unix sock相关
-l:listen状态的连接
-a:所有
-n:数字格式
-p:相关的程序及PID
-e:扩展的信息
-m:内存用量
-o:计时器信息
FILTER:= [ state TCP-STATE ] [ EXPRESSION ]
TCP的常见状态:
tcp finite state machine:
LISTEN:监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport =
sport =
示例:‘(deport = :ssh or sport = :ssh)’
常用组合:
-tan,-tanl,-tanlp,uan
Linux网络属性配置(3):修改配置文件
IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE # 此文件默认是不存在的
/etc/sysconfig/network-scripts/ifcfg-IFACE:
DEVICE:此配置文件应用到的设备;
HWADDR:对应的设备的MAC地址;
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp,static,none,bootp;
NM_CONTROLLED:NM是networkManager的简写:此网卡是否接受NM控制:Centos6建议为"no"
ONBOOT:在系统引导时是否激活此设备;
TYPE:接口类型;常见的有Ethernet,Bridge
UUID:设备的惟一标识;
IPADDR:指明IP地址;
NETMASK:子网掩码;
GATEWAY:默认网关;
DNS1:第一个DNS服务器指向;
DNS2:第二个DNS服务器指向;
USERCTL:普通用户是否可控制此设备;
PEERDNS:如果BOOTPROTO的值为"dhcp",是否允许dhcp server分配 的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;
/etc/sysconfig/network-scripts/route-FIACE
两种风格:
(1) TARGET via GW
(2) 每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
给网卡配置多地址:
ifconfig:
ifconfig IFACE_ALIAS
ip
ip addr add
配置文件:
ifcfg-IFACE_ALIAS
DEVICE=IFCACE_ALIAS
注意:网关别名不能使用dhcp协议引导;
Linux网络属性配置的tui(text user interface):
system-config-network-tui
也可以使用setup找到;
注意:记得重启网络服务方能生效;
配置当前主机的主机名:
hostname [HOSTNAME]
/etc/sysconfig/network
HOSTNAME=
如果什么都配置好了,但是还是上不了网,有可能是/etc/sysconfig/network的网络功能没开。
此功能未开的话,执行service network restart命令是没有反应的。
网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
卸载网卡驱动:
modprobe -r e1000
装载网卡驱动:
modprobe e1000
Centos 7网络属性配置
传统命名:以太网eth[0,1,2,....],wlan[0,1,2,....]
可预测功能
udev支持多种不同的命令方案:
Firmware,拓扑结构
(1) 网卡命名机制
systemd对网络设备的命令方式:
(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测根据此索引进行命令,例如eno1;
(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1;
(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0;
(d) 如果用户显示启动,也可根据MAC地址进行命名,enx2387a1dc56;
(e) 上述均不可用时,则使用传统命名机制;
上述命名机制中,有的需要biosdevname程序的参与;
(2) 名称组成格式
en:ethernet
wl:wlan
ww:wwan
名称类型:
o<index>:集成设备的设备索引号;onboard
s<slot>:扩展槽的索引号;
x<MAC>:基于MAC地址的命名;
p<bus>s<slot>:enp2s1;pci
网卡设备的命名过程:
第一步:
udev,辅助工具程序/lib/udev/rename_device,/usr/lib/udev/rules.d/60-net.rules
第二步:
biosdevname 根据/usr/lib/udev/rules.d/71-biosdevname.rules
第三步:
通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description
ID_NET_NAME_ONBOARD,ID_NET_NAME_SLOT,ID_NET_NAME-PATH
回归传递命名方式:
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统
地址配置工具:nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help } 这一个工具Centos6和7上的介绍不一样。
如何修改IP地址等属性:
nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses
ipv4.gateway
ipv4.dns1
ipv4.method
manual
网络接口配置tui工具:nmtui
主机名称配置工具:hostnamectl
status
set-hostname
博客作业:上述所有内容;
ifcfg,ip/ss,配置文件,nmcli
参考资料:http://www.redhat.com/hdocs
课外作业:nmap,ncat,tcpdump工具
网络客户端工具:
lftp,ftp,lftpget,wget
# lftp [-p port] [-u user[,password]] SERVER
子命令:
get
mget
ls
help
# lftpget URL
# ftp
# wget
wget [option]...[URL]...
-q:静默模式
-c:续传
-O:保存位置
--limit-rates=: 指定传输速率