一、配置主机接入TCP/IP网络的相关设置
要让linux主机接入互联网,主机要能兼容TCP/IP协议栈,内核中实现
配置主机接入TCP/IP网络的相关设置:
IP/Netmask ip配置在内核上,显示在网卡上
路由:
主机路由:host #到达非本网络的单个主机
网络路由:net #到达非本网络的网络
默认路由(网关):default #所有非本网络的主机或主机
DNS服务器:
主DNS服务器
备用DNS服务器 #主DNS服务器故障了(不响应)才会使用
主机名
二、配置主机IP
1、配置IP的方法
静态指定:
IP/Netmask
最少要配置的2项,能实现本网络内通信,和非本网络内的主机通信还需要配置DNS和网关。
动态配置:
DHCP服务器 Dynamic Host Configuration Protocol 动态主机配置协议
用户空间工具:
保存在内核内存中,立即通知内核生效,重启网络服务失效
网络设备服务配置文件
并不是内核的配置文件,而是用户空间网络设备服务的脚本,系统开机时,网络服务会自动读取这个配置文件,完成ip设定,长久有效
GUI/TUI:
GUI Graphic User Interface 图形用户界面 为命令提供的带窗口和下拉菜单的用户界面 适用于ASCII终端的带窗口和下拉菜单的基于字符的显示。TUI 使用键盘导航(不支持鼠标) 在命令行提示符处输入的或由脚本执行的文本格式的命令和选项 是对图形用户界面 (GUI) 或终端用户界面 (TUI) 的统称 |
system-config-network-tui
配置结束后讲保存在配置文件中
setup
2、用户空间的命令行工具
ifconfig
ip(iproute包提供还提供了ss)
网络设备如何表示?
内核识别设备依靠驱动程序,每个设备在内核看来都是它驱动的名称,为了统一的识别设备,为驱动取一个容易识别的别名。
以太网设备:ethN 比如eth0,eth1,eth2... #内核会将ethN映射为真正的网卡驱动并识别
戴尔服务器的网卡:emN,em0,em1...
PPP网络:pppX
本地回环接口:lo
3、ifconfig命令的使用
ifconfig 显示所有活动网卡的相关信息
#不会显示没启用的网卡,可以在配置文件中设置网卡是否开机启用
ifconfig -a 显示所有的网卡
ifconfig INTERFACE 仅显示指定接口的相关信息
ifconfig INTERFACE up 启用该网卡
ifconfig INTERFACE down 禁用该网卡
ifdown 接口,ifup 接口 #会重置网络连接,读取配置文件重新设置网络
ifconfig配置IP地址:
子网掩码的格式:
长格式:255,255.0.0
ifconfig INTERFACE IP netmask MASK
CIDR:16(1的个数) ifconfig INTERFACE IP/MASK
ifconfig add 添加ipv6地址
ifconfig del
[root@Node3 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:30:64:5E inet addr:192.168.10.3 Bcast:192.168.10.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe30:645e/64 Scope:Link #Scope作用范围 Link表示全局,还有2个范围是本地的和隐藏的 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 #启用,支持广播,运行中,支持多播,最大传输单元,度量值:1表示本机 RX packets:182967 errors:0 dropped:0 overruns:0 frame:0 #下行接受报文个数,错误数,丢弃数,溢出数, 冲突的帧数 TX packets:284083 errors:0 dropped:0 overruns:0 carrier:0 #上行发送发送报文 载荷 collisions:0 txqueuelen:1000 #冲突数 发送队列 RX bytes:15105503 (14.4 MiB) TX bytes:81718924 (77.9 MiB) #接收到的字节数,发送的字节数 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4087 errors:0 dropped:0 overruns:0 frame:0 TX packets:4087 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:736030 (718.7 KiB) TX bytes:736030 (718.7 KiB) [root@Node3 ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:0C:29:30:64:5E inet addr:192.168.10.3 Bcast:192.168.10.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe30:645e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:183884 errors:0 dropped:0 overruns:0 frame:0 TX packets:285164 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:15180337 (14.4 MiB) TX bytes:81816450 (78.0 MiB) eth1 Link encap:Ethernet HWaddr 00:0C:29:30:64:68 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:454929 errors:0 dropped:0 overruns:0 frame:0 TX packets:19965 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:87215900 (83.1 MiB) TX bytes:1293314 (1.2 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4087 errors:0 dropped:0 overruns:0 frame:0 TX packets:4087 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:736030 (718.7 KiB) TX bytes:736030 (718.7 KiB) [root@Node3 ~]# ifconfig eth1 #没有启用 eth1 Link encap:Ethernet HWaddr 00:0C:29:30:64:68 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:454929 errors:0 dropped:0 overruns:0 frame:0 TX packets:19965 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:87215900 (83.1 MiB) TX bytes:1293314 (1.2 MiB) [root@Node3 ~]# ifconfig eth1 172.16.11.111/24 #设置ip后会自动启用该网卡 [root@Node3 ~]# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:0C:29:30:64:68 inet addr:172.16.11.111 Bcast:172.16.11.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe30:6468/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:454939 errors:0 dropped:0 overruns:0 frame:0 TX packets:19968 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:87216756 (83.1 MiB) TX bytes:1293552 (1.2 MiB) [root@Node3 ~]# ifconfig eth1 172.16.11.222 netmask 255.255.255.0 [root@Node3 ~]# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:0C:29:30:64:68 inet addr:172.16.11.222 Bcast:172.16.11.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe30:6468/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:455093 errors:0 dropped:0 overruns:0 frame:0 TX packets:19971 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:87231238 (83.1 MiB) TX bytes:1293782 (1.2 MiB)
4、route命令使用
route 显示路由信息
-n 使用数字格式显示,不反解地址到主机名
route配置路由:
route add -host HOST_IP gw Next_Hop [dev Device] #主机地址不需要加掩码
-net Net_ADDR gw Next_Hop [dev Device] #网络地址要加掩码
-net 0.0.0.0 gw Next_Hop #目标地址为任意地址,设置的是网关(默认路由)
default gw Next_Hop #也可以设置默认路由
删除路由:
route del -host HOST_IP
-net Net_ADDR
[root@Node3 ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.11.0 * 255.255.255.0 U 0 0 0 eth1 192.168.10.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 1002 0 0 eth0 link-local * 255.255.0.0 U 1003 0 0 eth1 default 172.16.11.254 0.0.0.0 UG 0 0 0 eth1 [root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 # 0.0.0.0 表示没有网关 U表示启用状态,G表示默认网关,H表示主机路由 # Iface表示使用哪个接口 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 172.16.11.254 0.0.0.0 UG 0 0 0 eth1
设置:
到达目标:192.168.0.0/24得经过192.168.10.1(下一跳) #网关(下一跳)一定要是和本地的网络在同一网段中
到达目标:192.168.1.10 gw 172.16.100.177
[root@Node3 ~]# route add -net 192.168.0.0/24 gw 172.16.11.1 [root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.0.0 192.168.10.1 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1 [root@Node3 ~]# route add -host 192.168.1.10 gw 192.168.10.177 [root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.10 192.168.10.177 255.255.255.255 UGH 0 0 0 eth0 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.0.0 192.168.10.1 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1 [root@Node3 ~]# route add -host 192.168.1.10 gw 192.168.100.177 [root@Node3 ~]# route -n #哪个网卡的ip能到下一跳的地址就使用哪个网卡 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.10 192.168.100.177 255.255.255.255 UGH 0 0 0 eth1 192.168.1.10 192.168.10.177 255.255.255.255 UGH 0 0 0 eth0 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.0.0 192.168.10.1 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1 [root@Node3 ~]# route add -host 192.168.1.10 gw 192.168.100.177 dev eth0 SIOCADDRT: 没有那个进程 [root@Node3 ~]# route add -host 192.168.1.10 gw 192.168.100.178 dev eth1 #也可以手动指定使用哪个网卡,若指定的网卡到达不了下一跳的地址则报错 [root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.10 192.168.100.178 255.255.255.255 UGH 0 0 0 eth1 192.168.1.10 192.168.100.177 255.255.255.255 UGH 0 0 0 eth1 192.168.1.10 192.168.10.177 255.255.255.255 UGH 0 0 0 eth0 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.0.0 192.168.10.1 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1
删除路由:
[root@Node3 ~]# route del -net 192.168.100.0 SIOCDELRT: 无效的参数 [root@Node3 ~]# route del -net 192.168.100.0/24 [root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.10 192.168.100.177 255.255.255.255 UGH 0 0 0 eth1 192.168.1.10 192.168.10.177 255.255.255.255 UGH 0 0 0 eth0 192.168.0.0 192.168.10.1 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1 [root@Node3 ~]# route del -host 192.168.1.10 [root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.10 192.168.10.177 255.255.255.255 UGH 0 0 0 eth0 192.168.0.0 192.168.10.1 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1 [root@Node3 ~]# route del default
6、配置DNS
DNS服务器指向
配置文件:/etc/resolv.conf
nameserver DNS_SERVER_IP #最多三个
解析域名测试:
dig -t A FQDN
dig -x IP 反解
nslookup FQDN
[root@Node3 ~]# cat /etc/resolv.conf nameserver 218.104.128.106 nameserver 58.22.96.66
解析域名:
[root@Node3 ~]# cat /etc/resolv.conf ; generated by /sbin/dhclient-script nameserver 218.104.128.106 nameserver 58.22.96.66 [root@Node3 ~]# nslookup www.magedu.com Server: 218.104.128.106 Address: 218.104.128.106#53 Non-authoritative answer: Name: www.magedu.com Address: 101.200.188.230 [root@Node3 ~]# host www.magedu.com www.magedu.com has address 101.200.188.230 [root@Node3 ~]# dig -t -A www.magedu.com ;; Warning, ignoring invalid type -A ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> -t -A www.magedu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42216 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.magedu.com. IN A ;; ANSWER SECTION: www.magedu.com. 517 IN A 101.200.188.230 ;; Query time: 77 msec ;; SERVER: 218.104.128.106#53(218.104.128.106) ;; WHEN: Wed Dec 14 20:54:10 2016 ;; MSG SIZE rcvd: 48
三、主机名
FQDN(Full Qulified Domain)
完全合格域名/全称域名,是指主机名加上全路径,全路径中列出了序列中所有域成员。
全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。
DNS解析流程:首先查找本机HOSTS表,有的直接使用表中定义,没有查找网络连接中设置的DNS 服务器由他来解析。
hostname HOSTNAME
临时修改主机名,重启失效,修改的结果保存在/proc/sys/kernel/hostnam,修改了这个参数,hostname命令查看到的主机名也会改变;但环境变量HOSTNAME不会改变,它是由配置文件/etc/sysconfig/network里配置的,永久有效,需要重读配置文件才生效
四、网络服务脚本
1、服务脚本
/etc/rc.d/init.d/network
/etc/rc.d/init.d/NetworkManager #一般都禁用掉,很多高级功能都不支持
服务脚本:SysV style,LSB
多数为控制运行在后台守护进程,接受参数{start|stop|restart|status}
脚本位置:/etc/rc.d/init.d或/etc/init.d
配置某服务开机自动启动:chkconfig Src_Script_Name on
禁止开机自动启动:chkconfig Src_Script_Name off
查看:chkconfig --list
调用执行机制:
/etc/init.d/Script_Name {start|stop|restart|status}
service Script_Name {start|stop|restart|status}
与网络设备相关的服务控制脚本:
他们通常能够读取为网络配置的配置文件,以之实现其配置生效或失效等管理功能
配置文件有两类:(都在/etc/sysconfig/network-scripts/目录下)
1)配置IP、掩码、网关
以太网:ifcfg-ethN
PPP:ifcfg-pppN
2)匹配路由
route-ethN
route-pppN
2、配置IP、掩码、网关(ifcfg-ethN)
DEVICE="eth0"
此配置关联至的设备。设备名要与文件ifcfg-后ude内容保持一致
BOOTPROTO=none
引导协议:{none|static|dhcp|bootp}
#none和static都是手动静态配置ip,bootp是dhcp的前身
HWADDR="00:0C:29:26:62:92"
MAC地址:要与真实MAC地址保持一致,可省略,系统会自带获取
NM_CONTROLLED="yes"
是否接受NetworkManager脚本控制:{yes|no}
ONBOOT="yes"
是否开机自动启动此网络设备{yes|no}
TYPE="Ethernet"
设备类型Etheraget,Bridge(桥接) #首字母一定要大写
UUID="14351f7f-a726-4dfc-966e-dfb1f352f226"
唯一标识,可省略
IPADDR=
ip地址
NETMASK=
掩码
GATEWAY=
默认网关
DNS1=
DNS1服务地址
DNS2=
DNS2服务地址
IPV6INIT=no
是否开启ipv6
USERCTL=no
是否允许普通用户操作网卡
PEERDNS={yes|no}
是否允许DHCP服务分配地址时直接更新/etc/resolv.conf中的DNS服务器地址,
[root@Node3 ~]# cd /etc/sysconfig/network-scripts/ [root@Node3 network-scripts]# ls ifcfg-eth0 ifdown-ipv6 ifup ifup-plip ifup-wireless ifcfg-eth1 ifdown-isdn ifup-aliases ifup-plusb init.ipv6-global ifcfg-lo ifdown-post ifup-bnep ifup-post net.hotplug ifdown ifdown-ppp ifup-eth ifup-ppp network-functions ifdown-bnep ifdown-routes ifup-ippp ifup-routes network-functions-ipv6 ifdown-eth ifdown-sit ifup-ipv6 ifup-sit ifdown-ippp ifdown-tunnel ifup-isdn ifup-tunnel [root@Node3 network-scripts]# vim ifcfg-eth0 [root@Node3 network-scripts]# cat ifcfg-eth0 DEVICE=eth0 #HWADDR=00:0C:29:99:D2:4E TYPE=Ethernet #UUID=41ce24b1-da9a-4879-b19d-c13fc4de610e ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.10.3 NETMASK=255.255.255.0
注意:配置完ifcfg-eth0完成后,要重启服务脚本:service network restat才会生效
3、如何实现在单网卡上配置多个地址
通过网络接口别名来实现
ethN
ethN:X 例如:eth0:0,eth0:1....
配置1:
ifconfig ethX:Y IP/mask
配置2:写入配置文件中
ifcfg-ethX:Y
DEVICE=ethX:Y
BOOTPROTO={none|static}
IPADDR=
NETMASK=
注意:一个主机只能有一个网关,非主地址不支持DHCP协议获取
4、配置路由
route-ethN #默认没有,要自己创建,N要配置在哪个网卡上
配置文件的格式1:每行一个要配置的路径条目
目标 via 下一跳
配置文件的格式2:每一组一个路由条目
ADDRESSN=目标
NETMASKN=掩码
GATEWAYN=下一跳 #N表示组号
注意:两种格式都存在时,只有格式2会生效
[root@Node3 network-scripts]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1 [root@Node3 network-scripts]# cat route-eth0 #如果配置了非此网卡同网段的地址则不生效 192.168.0.0/24 via 192.168.10.1 192.168.1.1 via 192.168.10.10 #ADDRESS0=172.16.0.0 #NETMASK0=255.255.0.0 #GATEWAY0=192.168.10.254 #ADDRESS1=172.16.0.100 #NETMASK1=255.255.255.255 #GATEWAY1=192.168.10.200 [root@Node3 network-scripts]# service network restart [root@Node3 network-scripts]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.1 192.168.10.10 255.255.255.255 UGH 0 0 0 eth0 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.0.0 192.168.10.1 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1 [root@Node3 network-scripts]# cat route-eth0 192.168.0.0/24 via 192.168.10.1 192.168.1.1 via 192.168.10.10 ADDRESS0=172.16.0.0 NETMASK0=255.255.0.0 GATEWAY0=192.168.10.254 ADDRESS1=172.16.0.100 NETMASK1=255.255.255.255 GATEWAY1=192.168.10.200 [root@Node3 network-scripts]# service network restart [root@Node3 network-scripts]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.0.100 192.168.10.200 255.255.255.255 UGH 0 0 0 eth0 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 172.16.0.0 192.168.10.254 255.255.0.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1
五、ip命令使用
ip命令由iProute包提供,ip命令是模块化的,有很多子命令:
1、ip link
网络设备配置
ip link show 查看默认信息,show可省略
ip link set 接口 [up|down] [multicast on|off] multicast多播
[root@Node3 ~]# ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:30:64:5e brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:30:64:68 brd ff:ff:ff:ff:ff:ff [root@Node3 ~]# ip link set eth1 down [root@Node3 ~]# ip link #能显示禁用的网卡 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:30:64:5e brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 00:0c:29:30:64:68 brd ff:ff:ff:ff:ff:ff
2、ip addr
可以在一个接口配置多个地址而不使用接口别名,要查看这些地址需要使用ip addr
ip addr show #show可省略
ip addr add dev 接口 ip地址[/掩码] [广播地址] [ label 别名 ]
#要设置掩码,不设置的话会默认使用32,广播地址和别名不设置就没有
ip addr del dev 接口 ip地址/掩码
ip addr flush 接口 [to 网络地址]
#直接使用特定地址也可以此地址,网络地址要带掩码,就会清除这个网段的ip
[root@Node3 ~]# ip addr add dev eth1 10.0.100.250/24 broad 10.0.100.255 [root@Node3 ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:30:64:5e brd ff:ff:ff:ff:ff:ff inet 192.168.10.3/24 brd 192.168.10.255 scope global eth0 inet 10.0.0.1/24 brd 10.0.0.255 scope global eth0:0 inet 10.0.100.200/24 brd 10.0.100.255 scope global eth0 inet6 fe80::20c:29ff:fe30:645e/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:30:64:68 brd ff:ff:ff:ff:ff:ff inet 172.16.11.158/24 brd 172.16.11.255 scope global eth1 inet 10.0.0.10/24 scope global eth1 inet 10.0.100.250/24 brd 10.0.100.255 scope global eth1 inet 10.0.0.111/24 scope global secondary eth1:1 inet6 fe80::20c:29ff:fe30:6468/64 scope link valid_lft forever preferred_lft forever [root@Node3 ~]# ip addr del dev eth1 10.0.100.250/24 [root@Node3 ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:30:64:5e brd ff:ff:ff:ff:ff:ff inet 192.168.10.3/24 brd 192.168.10.255 scope global eth0 inet 10.0.100.200/24 brd 10.0.100.255 scope global eth0 inet6 fe80::20c:29ff:fe30:645e/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:30:64:68 brd ff:ff:ff:ff:ff:ff inet 172.16.11.158/24 brd 172.16.11.255 scope global eth1 inet6 fe80::20c:29ff:fe30:6468/64 scope link valid_lft forever preferred_lft forever
4、ip route
ip route add 目标 via 下一跳 [src 地址 [dev 设备]]
#目标的掩码不添加的话默认为32,是主机路由,还可以指定使用哪个网卡的哪个地址
ip route del 目标
ip route show
[root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 172.16.11.254 0.0.0.0 UG 0 0 0 eth1 [root@Node3 ~]# ip route add 192.168.0.0/24 via 172.16.11.1 [root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 172.16.11.1 255.255.255.0 UG 0 0 0 eth1 172.16.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 172.16.11.254 0.0.0.0 UG 0 0 0 eth1 [root@Node3 ~]# ip route 192.168.0.0/24 via 172.16.11.1 dev eth1 172.16.11.0/24 dev eth1 proto kernel scope link src 172.16.11.158 192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.3 169.254.0.0/16 dev eth0 scope link metric 1002 169.254.0.0/16 dev eth1 scope link metric 1003 default via 172.16.11.254 dev eth1 [root@Node3 ~]# ip route add 192.168.22.222 via 192.168.100.100 src 192.168.10.3 dev eth0 [root@Node3 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.22.222 192.168.100.100 255.255.255.255 UGH 0 0 0 eth0 192.168.11.111 192.168.100.1 255.255.255.255 UGH 0 0 0 eth0 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.0.0 172.16.11.1 255.255.255.0 UG 0 0 0 eth1 172.16.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 0.0.0.0 172.16.11.254 0.0.0.0 UG 0 0 0 eth1
六、网络管理或检测等相关的工具
1、ping
测试网络是否连通
基于ICMP 互联网控制报文协议
ping [options] [主机名或IP地址]
-c 次数
-w 测试执行时长
-q 不显示任何传送封包的信息,只显示最后的结果。
-R 记录路由过程。
-v 详细显示指令的执行过程。
-c 数目:在发送指定数目的包后停止。
-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
-t 存活数值:设置存活数值TTL的大小。
TTL:生存时间
指定数据报被路由器丢弃之前允许通过的网段数量。
TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。
TTL 字段值可以帮助我们识别操作系统类型。
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255。
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64。
LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64。
微软 Windows NT/2K/2k3/2k8操作系统 ICMP 回显应答的 TTL 字段值为 128。
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32。
2、traceroute
traceroute HOST
获取当前主机到目标主机所经过的路由
3、mtr
结合了ping和traceroute
mtr HOST
七、netstat和ss
1、netstat
Netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
执行netstat后,其输出结果为系统上所有的连接:
[root@Node3 ~]# netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 Node3:ssh 192.168.10.10:56084 ESTABLISHED tcp 0 0 Node3:ssh 192.168.10.10:55685 ESTABLISHED tcp 0 0 Node3:ssh 192.168.10.10:56083 ESTABLISHED. . . Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 18 [ ] DGRAM 10278 /dev/log unix 2 [ ] DGRAM 7553 @/org/kernel/udev/udevd unix STREAM CONNECTED 10327 unix 3 [ ] DGRAM 7577 unix 3 [ ] DGRAM 7576 unix 3 [ ] STREAM CONNECTED 11376 unix 3 [ ] STREAM CONNECTED 11375 unix 3 [ ] STREAM CONNECTED 11369 unix 3 [ ] STREAM CONNECTED 11368 . . .
从整体上看,netstat的输出结果可以分为两个部分:
一个是Active Internet connections,称为有源TCP连接,
其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列,这些数字一般都应该是0。如果不是则表示数据包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto:显示连接使用的协议
RefCnt:表示连接到本套接口上的进程号
Types:显示套接口的类型
State:显示套接口当前的状态
Path:表示连接到套接口的其它进程使用的路径名。
常见参数:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-i 显示接口信息
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
常用组合:
netstat -tan
netstat -tunl
netstat -tunlp
netstat -rn
2、ss
用于取代netstat,速度块,开销小,默认只显示已建立的连接
-t:tcp协议的连接
-u:udp协议的链接
-l:监听状态的连接
-a:所有状态的连接
-e:显示扩展信息
-m:显示套接连接使用的内存信息
-p:进程及UDP
-n:数字格式显示
-o state (established) #过滤
ethtool 接口: 显示接口设备属性
ethtool -S 接口:显示设备接口的统计数据
使用ping命令探测172.16.0.0/16有哪些主机在线
在线,用绿色显示
不在线的,用红色显示
#!/bin/bash for i in {0..255};do for j in {1..254};do ping -c 1 172.16.$i.$j &> /dev/null if [[ $? -eq 0 ]];then echo -e -n "\033[32mping 172.16.$i.$j ke da !\033[0m\n" else echo -e -n "\033[31mping 172.16.$i.$j bu ke da !\033[0m \n" fi done done
任务:
nmap:扫描器
tcpdump:嗅探器
wireshark:嗅探器
tshark:字符界面的
转载于:https://blog.51cto.com/xiexiaojun/1882430