如果你想要做好你的网络参数设定,包括 IP 参数、路由参数与无线网络等等,就得要了解底下这些相关的指令才行!其中以 ifconfig 及 route 这两支指令算是较重要的,但是除此之外还有ip这个指令,它是囊括了ifconfig,route这两个命令的功能,并且还有比他们两个更加强大的功能。
1.ifconfig:查询、设定网络卡与 IP 网域等相关参数;
2.ifup, ifdown:这两个命令是 script,透过更简单的方式来启动网络接口;
3.route:查询、设定路由表 (route table)
4.ip :复合式的指令, 可以直接修改上述提到的功能;
接下来我们先来看看ifconfig这个命令。ifconfig可以手动的启动,观察与修改网络接口相关的参数。并且修改后,立刻生效,但是下次启动网卡服务的时候,所配置的命令都会失效,要想永久有效,还得编辑配置文件,这样才会长久有效。
ifconfig [interface]接口
# ifconfig -a :显示所有的网络接口信息,包括活动的和非活动的。
# ifconfig:则是显示当前活动的网络接口。
# ifconfig IFACE [up|down]关闭或者打开某个网卡
# ifconfig IFACE IP/mask [up]:设置静态ip地址
# ifconfig IFACE IP netmask MASK:设置静态ip地址
# ifconfig 别名 IP netmask Mask:设置一个别名
如下图所示,eth0:0就是eth0的一个映射,是不是看到了两个不同的IP地址。
route命令: 路由管理命令
查看:route -n
添加:route add
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
-host:主机路由 。-net:网络路由
目标: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
ip命令:
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
ip link set{up | down}:激活或者禁用指定接口
ip link show:
[dev IFACE]:指定接口
[up]:仅显示处于激活状态的接口
ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域
global: 全局可用;
link: 仅链接可用;
host: 本机可用;
[broadcast ADDRESS]:指明广播地址
ip addr show:
[dev DEVICE]:指定某个接口的
[label PATTERN]指定某个别名
[primary and secondary]主地址和辅助地址
ip addr flush:清空地址
ip route add
添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
主机路由:IP:主机路由不需要填写掩码,会自动识别
网络路由:NETWORK/MASK,需要添加掩码
添加默认网关:ip route add defalt via GW dev IFACE
ip route delete
删除路由:ip route del TARGET
注意:删除路由的时候,如果是网络地址的话,必须指明所有参数,主机地址只需要指明本地IP即可。
ip route show:显示路由信息
ip route flush:清空路由信息。
接下来让我们来看看两个显示网络连接的命令:
显示网络连接:
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口;
-e:扩展格式
-p: 显示相关进程及PID
常用组合:
-tan, -uan, -tnl, -unl
显示路由表:
netstat {--route|-r} [--numeric|-n]
-r: 显示内核路由表
-n: 数字格式
显示接口统计数据:
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
# netstat -i
# netstat -I IFACE
ss命令:
格式:ss [OPTION]... [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 =
示例:’( dport = :ssh or sport = :ssh )’
常用组合:
-tan, -tanl, -tanlp, -uan
通过上面两个命令的选线不难看出其实这个命令的用法基本相同。
Linux网络属性配置: 修改配置文件
修改配置文件可以永久的改掉
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-IFACE
两种风格:
(1) TARGET via GW
(2) 每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
配置文件里设置路由信息,两种方法只能用一种,不能同时使用。
接下来,我来简单说说在CentOS7上,nmcli命令的使用:
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device - show and manage network interfaces
connection - start, stop, and manage network connections
如何修改IP地址等属性:
#nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses
ipv4.gateway
ipv4.dns1
ipv4.method
如上图所示用nmcli命令的步骤为: 1.nmcli connecttion modfiy eth0 +ipv4.addresses 192.168.1.20
2.nmcli connecttion down eth0;nmcli connecttion up eth0.
3.nmcli device show eth0
顺便说一下centos6和7的图形配置工具;
网络接口配置tui工具:nmtui(7)
system-config-network-tui(6),其实这个工具可以用steup命令直接调用
这两个图形工具,大家可以自行下去试试,我在这里就不多所什么了,因为我之前写的没有传上去,所以这篇博文,很简陋。谅解谅解
本文出自 “空白格” 博客,谢绝转载!