原始出处: http://opsmysql.blog.51cto.com/2238445/1214496
一、网络配置文件
1. /etc/sysconfig/network 文件
功能:设置主机最基本的网络信息,包括主机名、默认网关等信息
内容:
NETWORKING= yes/no 设定启动系统时是否启用网络服务
HOSTNAME= www.mysqlopNaN 设定主机名(不是NETBIOS名)
GATEWAY= 192.168.0.1 设定默认网关
GATEWAYDEV= eth0 设定网关接口
FORWARD_IPV4= yes/no 设定LINUX是否支持IP转发
2. /etc/sysconfig/network-scripts/ifcfg-ethX(X 取值0,1,2,…….n)
功能:用于配置以太网接口卡的初始信息,。
内容:
ONBOOT= yes 在设定启动时,是否激活网卡
DEVICE= eth0 设定物理设备名称
BOOTPROTO= none|static|dhcp|bootp 设定网卡启动协议
NETMASK= 255.255.255.0 设定子网掩码
BROADCAST= 192.168.3.255 设定广播码
NETWORK= 192.168.3.0 设定网络号
IPADDR= 192.168.3.2 设定主机IP
3. /etc/resolv.conf
功能:域名服务客户端的配置文件,用于指定域名服务器的位置
内容:
domainnamelinux.cn 设定主机域名
searchlinux.cn 设定搜索列表
nameserver192.168.0.254 设定DNS服务器的IP(最多三个)
4. /etc/hosts
功能:IP地址和主机名的映射
内容:
127.0.0.1localhost.localdomain syslog
::1localhost6.localdomain6localhost6
192.168.2.100 MySQL-HK-001
192.168.2.110 MySQL-HK-011
5. /etc/ modprobe.conf & /etc/modprobe.d/
内核模块加载相关的配置文件
6. /etc/nsswitch.conf
/etc/nsswitch.conf 文件用于管理系统中多个配置文件的查找顺序,它比/etc/host.conf文件提供了更多的功能。/etc/nsswitch.conf中的每一行或者是注释(以#号开头),或者是一个关键字后跟冒号和一系列要试用的有顺序的方法。每一个关键字是在/etc/目录可以被/etc/nsswitch.conf控制的/etc文件的名字。
下面是可以被包含的关键字:
aliases 邮件别名;passwd 系统用户;group 用户组;shadow 隐蔽口令;hosts 主机名和IP地址;networks网络名称及号码;protocols 网络协议;services端口号码和服务名称;ethers 以太网号码;rpc 远程进程调用的名称和号码;netgroup 网内组。
7. /etc/services
/etc/services 中包含了服务名和端口号之间的映射,不少系统程序要使用这个文件。
二、常用的网络服务命令简单使用
1. ifconfig
功能:
显示网络接口的配置信息
激活/禁用某个网络接口
配置网络接口IP地址
格式:
# ifconfig[< 接口名>]
# ifconfig< 接口名>(up/down)
# ifconfig< 接口名>ip地址netmask子网掩码
实例:
(1) # ifconfig
(2) # ifconfig eth0
(4) # ifconfig eth0 down
(5) # ifconfig eth0 192.168.3.3 netmask255.255.255.0 配置的地址立即生效,但重启网络服务或主机,都会失效
(6) # ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
(7) # ifconfig eth0 hw ether00:AA:BB:CC:DD:EE 修改MAC地址
(8) # 启用和关闭ARP协议
ifconfig eth0 arp
ifconfig eth0 -arp
(9) # ifconfig eth0 mtu 1500 设置最大传输单元
一块网卡可以使用多个地址:
网络设备可以别名:
eth0
ethX:X,eth0:0, eth0:1, ...
配置方法:
ifconfigethX:X IP/NETMASK
/etc/sysconfig/network-scripts/ifcfg-ethX:X
DEVICE=ethX:X
2. ifup
功能:激活网络接口。
格式: ifup <设备名>
实例: # ifupeth0
3. ifdown
功能:禁用网络接口。
格式:ifdown <设备名>
实例:# ifdown eth0
功能:向目标主机发送icmp数据包(检测网络)
格式: ping [- df nqrRv][-c< 完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范 本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
参数:
-d
使用Socket的SO_DEBUG功能
-c<完成次数> 设置完成要求回应的次数
-f 极限检测
-i<间隔秒数> 指定收发信息的间隔时间
-I<网络界面> 使用指定的网络界面送出数据包
-l<前置载入> 设置在送出要求信息之前,先行发出的数据包
-n 只输出数值
-p<范本样式> 设置填满数据包的范本样式
-q 不显示指令执行过程,开头和结尾的相关信息除外
-r 忽略普通的Routing Table,直接将数据包送到远端主机上
-R 记录路由过程
-s<数据包大小> 设置数据包的大小
-t<存活数值> 设置存活数值TTL的大小
-v 详细显示指令的执行过程
实例:
ping 192.168.1.1
ping -c 10 192.168.1.1 ping 指定次数
ping -c 10 -i 0.5 192.168.1.1ping 指定次数和时间间隔
ping -b 192.168.1.1ping 网关
ping -i 3 -s1024 -t 255 192.168.120.206#-i 3 发送周期为 3秒 -s 设置发送包的大小为1024 -t 设置TTL值为 255
5. netstat
功能:用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
格式:# netstat[参数]
参数:
-a 或–all 显示所有连线中的Socket
-A< 网络类型>或–<网络类型> 列出该网络类型连线中的相关地址
-c 或–continuous 持续列出网络状态
-C 或–cache 显示路由器配置的快取信息
-e 或–extend 显示网络其他相关信息
-F 或–fib 显示FIB
-g 或–groups 显示多重广播功能群组组员名单
-h 或–help 在线帮助
-i 或–interfaces 显示网络界面信息表单
-l 或–listening 显示监控中的服务器的Socket
-M 或–masquerade 显示伪装的网络连线
-n 或–numeric 直接使用IP地址,而不通过域名服务器
-N 或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称
-o 或–timers 显示计时器
-p 或–programs 显示正在使用Socket的程序识别码和程序名称
-r 或–route 显示Routing Table
-s 或–statistice 显示网络工作信息统计表
-t 或–tcp 显示TCP传输协议的连线状况
-u 或–udp 显示UDP传输协议的连线状况
-v 或–verbose 显示指令执行过程
-V 或–version 显示版本信息
-w 或–raw 显示RAW传输协议的连线状况
-x 或–unix 此参数的效果和指定”-A unix”参数相同
–ip或–inet 此参数的效果和指定”-A inet”参数相同
实例:
#netstat
# netstat - i # 显示网卡列表
# netstat - r # 显示关于路由表的信息
# netstat - s # 显示网络统计信息
#netstat -nt# 显示当前 T DP 连接状况
#netstat -ant# 显示 T DP 端口号的使用情况
#netstat -nr
#netstat -lpe
#netstat - an
#netstat -ntlp
# netstat -nat | grep "192.168.120.20:16067" |awk '{print $5}'|awk -F: '{print $4}'|sort|uniq -c|sort -nr|head - 1 0 # 查看连接某服务端口最多的 前10个 IP 地址
# netstat -a| awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' # 统计机器中网络连接各个状态个数
状态说明:
LISTEN :侦听来自远方的TCP端口的连接请求
SYN-SENT :再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)
SYN-RECEIVED :再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)
ESTABLISHED :代表一个打开的连接
FIN-WAIT-1 :等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2 :从远程TCP等待连接中断请求
CLOSE-WAIT :等待从本地用户发来的连接中断请求
CLOSING :等待远程TCP对连接中断的确认
LAST-ACK :等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)
TIME-WAIT :等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED :没有任何连接状态
6. traceroute
功能:跟踪路由
实例:
# traceroute www.ahxh.cn
# traceroute -n www.baidu.com # 显示IP地址,不查主机名
7. hostname
功能:显示主机名
实例:#hostname
www.mysqlop.com
8. route
功能:
(1) 显示路由表-n以数字方式显示各主机或端口等相关信息
(2) 添加路由add
(3) 删除路由del
参数:
-c 显示更多信息
-n 不解析名字
-v 显示详细的处理信息
-F 显示发送信息
-C 显示路由缓存
-f 清除所有网关入口的路由表。
-p 与 add命令一起使用时使路由具有永久性
add: 添加一条新路由。
del: 删除一条路由
-host: 主机路由
-net : 网络路由
实例:
(1)#route(显示当前系统的路由表信息)
(2)#route add –net 192.168.0.0/24deveth0
(3)#route add –host192.168.3.2deveth1
(4)#route add –host192.168.1.3gw 192.168.1.1
(5)#route add –net192.168.3.0netmask 255.255.255.0gw 192.168.3.1
(6)#route adddefaultgw192.168.0.1
(7)#route del –host 192.168.3.2. dev eth1
(8)#route del –net192.168.0.0/24dev eth0
(9)#route del defaultgw 192.168.0.1
(10) #route add -net 224.0.0.0 netmask240.0.0.0 reject# 屏蔽一条路由
(11) #route del -net 224.0.0.0 netmask240.0.0.0 reject# 删除路由记录
PS :添加永久路由的方法
方法一:
vi /etc/sysconfig/network-scripts/route-eth0
加入如下内容:
172.16.1.0/24 via 192.168.1.1
就算重启网络服务和服务器重启了也会生效!
方法二:
vi /etc/sysconfig/static-route
加入如下内容:
any net 172.16.1.0/24 gw 192.168.1.1
方法三:
vi /etc/rc.local
加入如下内容:
route add -net 172.16.1.0/24 gw 192.168.1.1
PS: 方法一推荐生产环境使用
方法三重启网络后不会生效,但是重启后会生效!
9. ip
功能:设置或查看网卡的各种属性
link: 网络接口属性
addr: 协议地址
route: 路由
add,change,show,flush,replace
实例:
link
ip -slink show
iplink set DEV {up|down}
addr
ipaddr add ADDRESS dev DEV
ipaddr del ADDRESS dev DEV
ipaddr show dev DEV to PREFIX
ipaddr flush dev DEV to PREFIX
ip addr add 192.168.100.1/24 dev eth1 labeleth1:0
ip route add to 10.0.1.0/24dev eth1 via 192.168.100.6
10. arp
功能:维护arp地址表
实例:
(1)#arp (显示arp地址表)
(2)#arp –s192.168.3.100:60:08:27:ce:b2(向arp地址表中添加记录)
(3)#arp –d192.168.3.1(删除arp地址表的记录)
(4)#arp-f (从/etc/ethers文件中读取添加的记录)
11. ss
功能: 用来获取 socket 统计信息,它可以显示和 netstat 类似的内容
命令参数:
-h, --help 帮助信息
-V, --version 程序版本信息
-n, --numeric 不解析服务名称
-r, --resolve 解析主机名
-a, --all 显示所有套接字( sockets )
-l, --listening 显示监听状态的套接字( sockets )
-o, --options 显示计时器信息
-e, --extended 显示详细的套接字( sockets )信息
-m, --memory 显示套接字( socket )的内存使用情况
-p, --processes 显示使用套接字( socket )的进程
-i, --info 显示 TCP 内部信息
-s, --summary 显示套接字( socket )使用概况
-4, --ipv4 仅显示 IPv4 的套接字( sockets )
-6, --ipv6 仅显示 IPv6 的套接字( sockets )
-0, --packet 显示 PACKET 套接字( socket )
-t, --tcp 仅显示 TCP 套接字( sockets )
-u, --udp 仅显示 UCP 套接字( sockets )
-d, --dccp 仅显示 DCCP 套接字( sockets )
-w, --raw 仅显示 RAW 套接字( sockets )
-x, --unix 仅显示 Unix 套接字( sockets )
-f, --family=FAMILY 显示 FAMILY 类型的套接字( sockets ), FAMILY 可选,支持 unix,inet, inet6, link, netlink
-A, --query=QUERY, --socket=QUERY
QUERY:= {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D, --diag=FILE 将原始 TCP 套接字( sockets )信息转储到文件
-F,--filter=FILE 从文件中都去过滤器信息
FILTER:= [ state TCP-STATE ] [ EXPRESSION ]
实例:
# ss -t - a # 显示TCP连接
# ss -lp | grep 80# 找出打开套接字/端口应用程序
# ss -u -a # 显示所有UDP Sockets
# ss -o stateestablished '( dport = : htt p or sport = : http )' # 显示所有状态为Established的HTTP连接
# ss -4 state STATUE# 用TCP 状态过滤Sockets
STATUE 可以代表以下任何一个:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listen
closing
all : 所有以上状态
connected : 除了listen and closed的所有状态
synchronized : 所有已连接的状态除了syn-sent
bucket : 显示状态为maintained as minisockets,如:time-wait和syn-recv.
big : 和bucket相反.
12.启动和关闭防火墙
即时生效:
#service iptables start
#service iptables stop
重启生效:
#service iptables on
#service iptables off
其它命令还有很多:如nslookup、dig、curl、wget、scp、nc、tcpdump等......