Linux-网络管理

Linux系统中查看、操作网络相关属性有3种方式:命令、配置文件、交互式工具

1.命令 - ip、ss、nmcli

ip、ss是iproute2软件包里面的强大的网络属性管理工具,它能够替代一些传统的网络管理工具,例如ifcfg家族中的ifconfig、route、netstat,使用权限为超级用户。几乎所有的Linux发行版本都支持这些命令。

1.1 ip - show / manipulate routing, devices, policy routing and tunnels(显示/操作路由、设备、策略路由和隧道)

语法

ip [ OPTIONS ] OBJECT { COMMAND | help }

其中OBJECT和COMMAND均支持简写,并且不能同时使用多个OBJECT或COMMAND。

OBJECT

常用OBJECT:link、address、route、netns等(更多选项查看man手册)

OPTIONS

-s, -stats, -statistics  输出更为详尽的信息(如果这个选项出现两次或者多次,输出的信息将更为详尽)
-f -family  选项后面接协议种类
    -family inet    简写:-4  (默认,ipv4)
    -family inet6   简写:-6  (ipv6)
    -family link    简写:-0  (不使用任何协议)
-o,-oneline  对每行记录都使用单行输出,回行用字符代替,多用于使用wc、grep等工具处理ip的输出。
-r,-resolve  查询域名解析系统,用获得的主机名代替主机IP地址。
1.1.1 ip link - network device configuration(网络设备配置)
  • ip link show - 显示网络接口信息
# 显示所有网络接口信息
ip link show 
# 显示所有网络接口的详细信息
ip -s link show
# 以单行形式显示所有网络接口的信息
ip -o link show
# 显示网络接口eth0的信息
ip link show eth0
# 仅显示启用状态的网络接口信息
ip link show up
  • ip link set - 设置网络接口属性
ip link set [dev] ...(dev可以省略)
# 启用/禁用网卡eth0
ip link set eth0 up|down
# 修改网卡eth0名称
ip link set [name] eth0 新名称 (name可以省略)
# 开启/关闭组播(多播)功能
ip link set eth0 multicast no|off
# 设置最大传输单元mtu的大小(mtu默认大小为1500)
ip link set eth0 mtg 1500
# 将接口移动到指定的网络名称空间
ip link set eth0 netns <netns>

更多用法可以使用ip link help查看这里不作描述。

1.1.2 ip address - protocol address management(协议地址管理)
  • ip address add - 添加网络接口地址

  • ip address del - 删除网络接口地址

  • ip address show - 显示网络接口地址

  • ip address flush - 清除网络接口地址

1.1.3 ip route - routing table management(路由表管理)
1.1.4 ip netns - manage network namespaces(管理网络名称空间)
# 列出所有的netns
ip netns list
# 创建指定的netns
ip netns add NAME
# 删除指定的netns
ip netns del NAME
# 在指定的netns中运行命令
ip netns exec NAME COMMAND
# 显示网络名称空间mynetns中的网络接口
ip netns exec mynetns ip link show
4.3 ip address - protocol address management
  • ip address show - 显示协议地址

  • ip address add - 添加协议地址

# 为接口eth0添加地址
ip addr add 192.168.100.101/24 dev eth0
# 为接口eth0添加地址,并指定接口别名
ip addr add 192.168.100.102/24 dev eth0 label eth0:1
# 为接口eth0添加地址,并指定作用域
ip addr add 192.168.100.103/24 dev eth0 scope global
  • ip address del - 删除协议地址
# 删除接口eth0的地址                                       
ip addr del 192.168.100.103/24 dev eth0
  • ip address flush - 清除(多个)协议地址
# 清空接口eth0的所有地址
ip addr flush dev eth0
4.4 ip route - routing table management
  • ip route show
  • ip route add
  • ip route delete
  • ip route flush
# 添加路由(via:经由哪个下一跳;src:从本机哪个地址出)
ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]
# 示例
ip route add 192.168.1.0/24 via 10.0.0.1 dev eth0 src 10.0.20.100
# 添加默认路由
ip route add default via GW
# 修改路由
ip route change ...
# 修改或添加路由
ip route replace ...
# 删除路由
ip route del TYPE PRIFIX 
# 示例
ip route delete 192.168.1.0/24
# 显示路由      
ip route show TYPE PRIFIX  
# 清空路由
ip route flush TYPE PRIFIX
# 示例
ip route flush 192.168.1.0/24
# 获取某个路由
ip route get TYPE PRIFIX
# 示例
ip route get 192.168.1.0/24
1.2 ss - another utility to investigate sockets

ss是另一个查看sockets信息的工具,可以取代netstat。

总览 SYNOPSIS

ss [options] [ FILTER ]

选项 OPTIONS

-t:TCP协议的相关连接
-u:UDP相关的连接
-w:raw socket相关的连接
-l:监听状态的连接
-a:所有状态的连接
-n:数字格式
-p:相关的程序及其PID
-e:扩展格式信息
-m:内存用量
-o:计时器信息

过滤器 FILTER

FILTER := [ state TCP-STATE ]  [ EXPRESSION ]
  • **TCP-STATE:TCP常见状态 **
TCP FSM:
    LISTEN:监听
    ESTABLISEHD:建立的连接
    FIN_WAIT_1:
    FIN_WAIT_2:
    SYN_SENT:
    SYN_RECV:
    CLOSED:
  • **EXPRESSION **
# 目标端口
dport = :xx
# 源端口
sport = :xx

示例

# 显示所有源端口或目标端口为22的tcp连接
ss -tan '(  dport = :22 or sport = :22  )'
# 显示所有状态为ESTABLISHED的tcp连接
ss -tan state  ESTABLISHED

6. nmcli - 命令行网络管理工具

SYNOPSIS

nmcli [OPTIONS...] {device | agent | monitor} [COMMAND] [ARGUMENTS...]

** OPTIONS & COMAND**

# 选项可以简写,如:dev、conn
# device - show and manage network interfaces
nmcli device {status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp} [ARGUMENTS...][ARGUMENTS...]
# connection - start, stop, and manage network connections
nmcli connection {show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export} [ARGUMENTS...]

示例

# 查看网络设备
nuclei device show 
# 查看网络设备状态
nmcli device status
# 为网卡eth0添加ip
nmcli conn modify eth0 +ipv4.address 192.168.1.135/24
# 从网卡eth0删除ip
nmcli conn modify eth0 -ipv4.address 192.168.1.135/24

B:配置文件

B1. IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
# ifcfg-IFACE配置文件参数:
DEVICE:此配置文件对应的设备的名称;
ONBOOT:在系统引导过程中,是否激活此接口;
UUID:此设备的惟一标识;
IPV6INIT:是否初始化IPv6;
BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;
TYPE:接口类型,常见的有Ethernet, Bridge;
DNS1:第一DNS服务器指向;
DNS2:备用DNS服务器指向;
DOMAIN:DNS搜索域;
IPADDR: IP地址;
NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;
GATEWAY:默认网关;
USERCTL:是否允许普通用户控制此设备;
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;
HWADDR:设备的MAC地址;
NM_CONTROLLED:是否使用NetworkManager服务来控制接口;(CentOS 6)
B2. 非默认网关路由的相关配置文件:/etc/sysconfig/networkj-scripts/route-IFACE
# 支持两种配置方式,但不可混用;
(1) 每行一个路由条目:
TARGET via GW
如:20.0.0.0/24 via 192.168.1.0
(2) 每三行一个路由条目:
ADDRESS_No=TARGET
NETMASK_No=MASK
GATEWAY_No=NEXTHOP
如:
ADDRESS0=20.0.0.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.0
ADDRESS1=30.0.0.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.1.0
B3. 通过网卡别名配置多个网络地址(IP),但不支持DHCP

ip address add...可以很方便地为网卡配置多个IP,ifconfig命令及配置文件也可以通过别名的方式为配置多个IP。

示例1

ifconfig eth0:0 192.168.1.101/24
ifconfig eth0:1 192.168.1.102/24

示例2

# 以网卡别名为后缀作配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0:0
/etc/sysconfig/network-scripts/ifcfg-eth0:1

C:交互式工具

CentOS 7中,操作网络属性的交互式工具为nmtui.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容