CentOS6.x网络基础及相关配置
做实验的时候,首先要关闭防火墙和selinux,然后配置好网卡信息。
防火墙临时关闭:iptables �CF
查看防火墙状态:iptables -L
防火墙永久关闭:/etc/init.d/iptables stop
service iptables stop
selinux临时关闭:setenforce 0
永久关闭:sed �Ci“7s/enforcing/disabled/g”/etc/selinux/config
一、名词解释:
CDN 内容分发网络
DDOS 拒绝服务攻击
1、地址的分类
1)网络地址:互联网协议地址(IP地址),IP地址工作在网络层
IP地址的分类:IPV4 IPv6
2)物理地址:物理地址(MAC地址)是每一个设备的固定地址,MAC地址工作在链路层。
2、协议分类:
1、网络层协议:IP协议、ICMP协议、ARP协议等
2、传输层协议:TCP、UDP等
3、应用层协议:DHCP、DNS、FTP、SSH等
3、常见端口:
20 21 ftp服务 文件共享
22 ssh 服务 安全远程网络管理
23 telnet服务
25 smtp 简单邮件传输协议 发信
110 pop3 邮局协议 收信
80 www 网页服务
3306 MysqL 端口
53 DNS 端口
二、网关和路由配置
ifconfig eth0 要设置的IP地址 设置IP地址和子网掩码(临时生效)
例1:ifconfig eth0 192.168.115.102/24
例2:ifconfig eth0 192.168.115.102 netmask 255.255.255.0
例3(给网卡设置子网卡):ifconfig eth0:0 192.168.115.102
注意:子网卡IP不能和其他IP重复
网卡配置:
永久生效(修改配置文件):/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 网卡名称
HWADDR=00:0c:29:65:da:3e 网卡的Mac地址(可删)
TYPE=Ethernet 网络类型(可删)
UUID=836c05a4-e78a-424e-8b3b-05cb6c126438 网卡UUID(可删)
ONBOOT=yes 开机是否自启动
NM_CONTROLLED=yes 可忽略
BOOTPROTO=static 网卡获取IP地址的方式
IPADDR=192.168.115.105 IP地址
NETMASK=255.255.255.0 子网掩码
DNS2=8.8.8.8 DNS2
GATEWAY=192.168.115.2 网关
DNS1=114.114.114.114 DNS1
IPV6INIT=no
USERCTL=no
service network restart 重启所有网络服务
ifup 网卡名 启动指定某个网卡
ifdown 网卡名 关闭指定某个网卡
2、主机名配置
临时修改主机名:hostname 主机名
永久修改主机名:/etc/sysconfig/network
HOSTNAME=主机名(修改这里)
注意:区别 /etc/rc.d/rc.sysint 和 /etc/sysconfig/network
3、网关配置
route -n 查看系统中路由表信息
临时修改:
添加默认网关:route add default gw 网关ip地址
删除默认网关:route del default gw 网关ip地址
指定添加路由:route add -net 连接的目标网段 gw 网关的IP地址
指定删除路由:route del -net 网段
永久生效:
修改网关配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
路由配置文件:/etc/rc.local
/etc/resolv.conf 保存本机需要使用的DNS服务器的IP地址
开启路由转发配置文件:/etc/sysctl.conf 进入其中将net.ipv4.ip_forward = 0修改为1之后用sysctl -p刷新一下配置文件即可
总结:
网关:没有具体目标
路由:有具体目标,以及到达线路
上图a、c、d为不同网段的电脑,现在需要通过b电脑的配置建立连接,那么:
a和b连接的网卡在同一个网段。
b和c 连接的网卡在同一个网段
b和d 连接的网卡在同一个网段
实验步骤:
(1):创建4个虚拟机,让它们分别在不同网段,都设置成桥接模式
(2):指定其中一个虚拟机为路由器,并为这个虚拟机创建三个网卡
(3):把配置文件/etc/sysconfig/network-scripts/ifcfg-eth0复制三份,分别为ifcfg-eth1 ifcfg-eth2 ifcfg-eth3
(4):分别进入ifcfg-eth1 ifcfg-eth2 ifcfg-eth3三个配置文件里面修改网卡名、删除Mac地址UUID、把三个网卡的IP地址修改成分别对应其他三台虚拟机的网段
(5):把其他三台虚拟机的网关分别修改成ifcfg-eth1 ifcfg-eth2 ifcfg-eth3的IP地址
(6):然后所有的虚拟机都用service network restart重启网卡,接着进入开启路由转发配置文件:/etc/sysctl.conf 将里面的net.ipv4.ip_forward = 0修改为1之后用sysctl -p刷新一下配置文件
(7):使用虚拟机ping ip地址 互相实验看能不能通
4、DNS配置
域名解析测试命令 nslookup
测试DNS域名解析
格式:nslookup 目标主机地址 DNS服务器地址
DNS服务器设置
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf 保存本机需要使用的DNS服务器的IP地址
nameserver DNS地址
主机映射文件:/etc/hosts
用于保存主机名和ip地址的映射记录
主机映射文件和DNS服务器的比较:
默认情况下,系统首先从hosts文件查找解析记录
hosts文件只对当前的主机有效
三、网络测试命令
(1)netstat -tlun 查看TCP和UDP监听的端口
-antp查看所有TCP的连接并显示PID号
-a:显示所有活动连接
-n:以数字形式显示
-p:显示进程信息
-t:查看TCP协议相关信息
-u:查看UDP协议相关信息
(2)traceroute 测试从当前主机到目的主机之间经过的网络节点,用于追踪数据包在网络上的传输时的全部路径,默认发送数据包大小为40字节,默认使用UDP协议进行传输,返回值为ICMP
-l 使用ICMP协议进行测试,Linux中默认UDP
-p 3 指定测试时发送的数据包个数(即测试次数)
-n 以IP的方式进行连接测试,避开DNS的解析,减少延迟
特殊情况:
当返回值中间出现******时,一般情况是中间节点防火墙封掉了ICMP的返回值。
当返回值从中间到结束都是*******时,一般情况为目标服务器拒绝接收UDP数据包或禁止了ICMP的返回包
(3)ping 测试网络连通性
-i 指定间隔时间
-c 指定ping的次数
-s 指定数据包的大小
(4)arp 地址解析协议,将IP解析成Mac
-a 查看所有
-d ip地址 删除某条ARP记录
-s ip地址 MAC地址 绑定ip地址
(5)nmap 网络探测命令
-sP 探测某网段内有哪些主机是存活的
-sT 探测某主机上开启了哪些TCP端口
-sS 同上,但是是安全扫描,被扫描主机将记录很少的日志
-O 扫描对方操作系统类型
四、远程管理:
1、 Windows用VNC连接Linux
yum -y install tigervnc tigervnc-server
先安装着两个软件
vncpasswd 设置密码
vncserver 启动服务
2、Linux用rdesktop连接Windows
Linux必须安装桌面
yum -y install rdesktop
rdesktop -f -a 16 -u windows用户名 -p windows密码 Windows IP地址
-f 是显示全屏 -a Linux色位16或32
3、Linux用SSH连接Linux
SSH协议
为客户机提供安全的Shell环境,用于远程管理
默认端口:TCP 22
OpenSSH
服务名称:sshd
服务端主程序:/usr/sbin/sshd
客户端主程序:/usr/bin/ssh
服务端配置文件:/etc/ssh/sshd_config
客户端配置文件:/etc/ssh/ssh_config
ssh连接需要用到两个配置文件
(1)/etc/ssh/ssh_config 客户端 (2)/etc/ssh/sshd _config 服务端
SSH 远程登录命令
ssh IP地址 登录Linux系统
指定端口:-p(小)
4、秘钥对验证
加密认证:RSA DSA两个都可使用
(1)在客户机上执行ssh-keygen -t rsa 生成非对称加密秘钥对
Enter file in which to save the key
(/home/test/.ssh/id_rsa)询问是否需要密码验证,不需要就直接回车
(2)在客户机家目录的.ssh/目录下,将id_rsa.pub公钥文件上传给服务机
(3)上传完成后,要在服务机端的家目录下创建一个 .ssh/ 的目录,把id_rsa.pub改名为authorized_keys并剪切到家目录下的.ssh/目录里面。
(4)编辑服务机端的/etc/ssh/sshd_config文件,取消注释
(5)、远程传输工具
指定端口:-P(大)
(2)sftp 安全的ftp传输协议
指定端口:-oPort=端口
用sftp登录到服务端以后,操作服务端的命令和操作本机相同,如果想在登录服务端的同时操作本机,需要在命令前面加上l,例
如果想让Windows也可以免密码连接到Linux,需要用x-shell工具-新建用户秘钥生成向导生成一个秘钥,然后将秘钥复制到Linux服务端的authorized_keys 文件里面即可
直接下一步、下一步即可生成秘钥,然后根据步骤操作
选择属性
复制里面的秘钥到Linux的authorized_keys 文件里面即可
*确保启用ssh公钥认证功能,查看/etc/ssh/sshd_config文件,确保以下两条yes :
*禁止密码安全验证,编辑/etc/ssh/sshd_config文件,确保以下文件出现在文件中:
编辑这个文件完成之后,需要重启sshd服务:service sshd restart即可禁止密码登录,只能用秘钥对登录。
想让其他用户通过秘钥登录,可以直接把可以登录的私钥文件传给某个用户即可。
注意:一定要保护好私钥的安全性。
(1)在客户机上输入命令:ssh-keygen -t rsa
(2)上传公钥到服务端:ssh-copy-id 服务端用户名@IP地址
TCP Wrappers(简易防火墙)概述:
如果某个命令调用库文件libwarp.so ,那么这个命令就可以被TCP Wrappers管理。
which 查询某服务命令所在位置
通过tcpd主程序对其他服务程序进行包装
访问控制策略的配置文件
白名单(允许访问):/etc/hosts.allow
黑名单(拒绝访问):/etc/hosts.deny
白名单比黑名单优先级高
设置访问控制策略
策略格式:服务列表:客户机地址列表
服务列表
多个服务以逗号分隔,ALL 表示所有服务
客户机地址列表
多个地址以逗号分隔,ALL表示所有地址
允许使用通配符 ? 和 *
网段地址,如 192.168.4. 或者 192.168.4.0/255.255.255.0
策略的应用顺序:
先检查hosts.allow,匹配即停止(即允许)
否则再检查hosts.deny,匹配即停止(即拒绝)
若两个文件中均无匹配策略,则默认允许访问