网络基本配置
-----------------------------------------------------------------------------------------------------------------------------------------------
DHCP:动态主机配置协议,自动获取ip服务

基本网络配置
<1>将Linux主机接入到网络,需要配置网络相关设置。
<2>一般包括如下内容:
主机名,便于管理,只在本机上有意义,但不具有网络功能
IP/netmask
路由:默认网关
DNS服务器
主DNS服务器
次DNS服务器
第三DNS服务器
主机名:
centos 6:临时改主机名 hostname,永久改/etc/sysconfig/network,改完后再临时改一下即可,然后改./etc/hosts,添加自己新的主机名
centos7里hostnamectl :hostname管理工具
IP/netmassk:
CentOS 6:
网卡命名:eth0 、eth1、eth2……
lo网卡:loopback网卡,回环网卡,只要设备安装tcp/ip协议,就肯定有lo网卡,127.0.0.1
dmesg | grep eth 可以查看网卡名,图中所示e1000
或者ethtool -i eth0
修改网卡名以及网卡与mac对应关系:/etc/udev/rules.d/70-persistent-net.rules,之后输入modprobe -r e1000卸载网卡驱动,再加载网卡驱动modprobe e1000(e1000为网卡驱动名),网卡名可更改
网络配置方式
静态指定:
ifconfig, route, netstat
ip: object {link, addr, route}, ss, tc
system-config-network-tui,setup
配置文件
动态分配:
DHCP: Dynamic Host Configuration Protocol
ifconfig命令:显示已经启用的网卡信息
ifconfig eth0 up 启用网卡
ifconfig eth0 down 禁用eth0网卡
ifconfig -a 显示所有网卡,被禁用的网卡不显示ip信息
ip a 命令可以看网卡信息,up是启用,down是禁用
ifdown eth0,禁用网卡,此命令依赖于配置文件,如果网卡配置文件里没有信息,将无作用
ifconfig[interface]
ifconfig eth1 172.20.0.123 临时更改
ifconfig 网卡名 IP/netmask
tcpdump -i 网卡名 icmp :对网卡抓icmp包
ifconfig eth0:1 192.168.1.1/24 对eth0起别名,ifconfig后eth0处显示eth0:1
注意:立即生效
启用混杂模式:[-]promisc
网卡配置文件目录:/etc/sysconfig/network-scripts
该目录下ifcfg-eth0:更改网卡信息的文件,更改后service NetworkManager restart重启服务激活,没有作用就ifconfig 网卡 down后再ifconfig 网卡 up可激活
route -n 查看路由记录
route add -host x.x.x.x dev eth0 增加路有记录,加的是一个设备ip,单机路由
route del …… 删除路由记录
route add net x.x.x.x dev eth0 增加路由记录,加的是一个网段,网络路由
实际应用中物理网段和逻辑网段都在同一个网段中
/proc/sys/net/ipv4/ip_foward 将计算机启用路由功能
两个路由器分成3个网段,实现了多路由跨网段通讯
1.网络
A:172.20.0.6/16 gw 172.20.0.200
R1:172.20.0.200/16 gw10.0.0.1/8
R2:10.0.0.2/8 gw 192.168.32.200/24
B:192.168.32.7/24 gw 192.168.32.200
2.启动两个路由器,echo 1>/proc/sys/net/ipv4/ip_foward
R1 route add -net B的ip gw 10.0.0.2
R2 route add -net A的(ip末尾为0) gw 10.0.0.1
实验中路由器是仅主机模式
网关的作用就是为了添加默认路由
边界路由器可以加默认网关0.0.0.0
一个网卡绑两个ip:图形界面可以直接添加,或者/etc/sysconfig/network-scripts/ifcfg-eth0里添加ip;
第二种:service NetworkManager stop,然后cp ifcfg-eth0 ifcfg-eth0:1,继续修改/etc/sysconfig/network-scripts/ifcfg-eth0,最后service NetworkManager restart
配置动态路由
路由协议:路由间互相交换各自的路由记录信息以达到整个网络路由器通讯
配置文件中:
动态配置
DEVICE=ethx
HWADDR=xx:xx:xx:xx:xx:xx,此行最好不要添加,防止更换网卡后系统无法识别新网卡
BOOTPROTO=dhcp
ONBOOT=yes 此行默认yes
静态配置
IPADDR=x.x.x.x
PREFIX=x 或者NETMASK=x.x.x.x
GATEWAY=x.x.x.x
DNS1=x.x.x.x
DNS2=x.x.x.x
ONBOOT=yes
通过守护进程获取动态路由
安装quagga包
支持多种路由协议:RIP、OSPF和BGP
命令vtysh配置
netstat -tn 显示本机通过tcp协议和哪些设备在连接
netstat -tnl 显示本机和哪些设备有监听状态
netstat -tnla 显示本机通过tcp协议和哪些设备在连接和监听
-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口
-e:扩展格式
-p: 显示相关进程及PID
netstat -I网卡号 指定网卡,和ifconfig -s 网卡号一样
netstat命令逐渐被ss代替
ss -l 显示本地打开的所有端口
ss -pl显示每个进程具体打开的socket
ss -t -a 显示所有tcpsocket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport= :sshor sport = :ssh)' 显示所有已建立的ssh连接
ss -o state established '( dport= :http or sport = :http )' 显示所有已建立的HTTP连接
ss -s 列出当前socket详细信息
ip命令
查看、修改路由表
ip addr
ip a a 添加地址
ip addr add 1.1.1.1/24 dev eth1给eth1增加ip
ip addr add 1.1.1.1/24 dev eth1 label eth:1 给网卡设别名
ip addr del 1.1.1.1/24 dev eth1,删除地址
ip addr flush eth1 删除网卡全部额外的ip地址
ip addr下global和link区别,假设我一个网卡上有两个ip,global状态下ping该网卡随便一个ip都会通,link状态下只能是网口号对应ip上才能通
ip route add 2.2.2.0/24 via 网关ip 增加路由表
ip route delete ……
ip route flush dev eth1 清空路由表
网络配置文件/etc/sysconfig/network-scripts/ipcfg-eth0,ifcfg-eth0:2,类似这种带冒号的只能手动添加,无法自动获取ip
ONBOOT:在系统引导时是否激活此设备
TYPE:接口类型;常见有的Ethernet, Bridge
UUID:设备的惟一标识
IPADDR:指明IP地址
NETMASK:子网掩码
GATEWAY: 默认网关
DNS1:第一个DNS服务器指向
DNS2:第二个DNS服务器指向,改完dns之后service network restart,/etc/resolv.conf有dns地址说明配置成功
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中
DOMAIN:自动补域名,ping www
Bonding:多网卡绑定一个ip
Bonding工作模式
Mode 0 轮流模式
Mode 1 主备模式
Mode 3 广播模式,两个网卡走一模一样的数据
active-backup、balance-tlb和balance-alb模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式0、2 和3 中使用EtherChannel,但在模式4中需要LACP和EtherChannel
实现Mode 0模式:
Bonding
多块网卡绑定到一个ip
创建bonding配置文件,/etc/sysconfig/network-scripts/ifcfg-bond0
内容格式
DEVICE=bond0
BOOTPROTO=none
PREFIX=x.x.x.x
BONDING_OPTS= “miimon=100 mode=x” miimon表示多少毫秒后探测网卡是否还在工作
再在需要设置bonding的网卡文件ifcfg-ethx改其配置
MASTER=bond0
SLAVE=yes
USERCTL=no 普通用户是否可以控制该网卡
查看bond0状态/proc/net/bonding/bond0
实验网卡是仅主机模式
使用传统命名方式:
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="rhgbquiet net.ifnames=0"
或:修改/boot/grub2/grub.cfg
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统
bonding删除
ifconfig bond0 down
rmmod bonding
centos7网络配置
采用传统命名方式,便于统一管理
(1)编辑/etc/default/grub配置文件
找到GRUB_CMDLINE_LINUX=”rhgb quiet net”这一行加上.ifnames=0
或者修改/boot/grub2/grub.cfg,找到第一个linux16那一行加上.ifnames=0
(2)为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3)重启系统
图形配置:nm-connection-editor
字符配置tui工具:nmtui
命令行工具:nmcli
nmcli connection命令有个name名和device名,name名表示连接名,一个name名对应/network-scripts/下一个ifcfg-网卡号文件,因此可以用命令来切换网络环境
nmcli connection add con-name eth0-aa ifname eth0 type ethernet ipv4.method manual ipv4.address .../...
增加 自定义名字 名字 针对eth0设置 以太网类型 设置ip为手动指定 设置ipv4地址
不设置ipv4.method manual 会造成ip将自动获取,本条命令执行便无效果
nmcli dev disconnect eth0断开eth0网卡连接
nmcli dev connect eth0启用eth0网卡连接
设置好nmcli文件后,使用命令nmcli connection up eth0-aa可以切换刚配置的eth-aa 的网络环境
nmcli connection modify eth0-aa con-name eth0-bb
将eth0-aa的配置环境改名为eth0-bb
nmcli connection delete eth0 删除网卡eth0网络环境文件
nmcli connection modify eth0-aa +ipv4.addresses 2.2.2.2/24 给eth0-aa增加地址
nmcli connection modify eth0-aa -ipv4.addresses 2.2.2.2/24 给eth0-aa删减地址
添加bond1指令
nmcli con add type bond con-name mybond ifname mybond mode 1
配置网卡从属bond
nmcli con add type bond-slave ifname eth0 master mybond
启动bond
nmcli con up bond-slave-eth0
启动绑定
nmcli con up mybond
网络组team
网络组:将多个网卡聚合在一起,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供了更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现
多种方式 runner方式
broadcast
roundrobin
activebackup
loadbalance
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME连接名
INAME网络接口名
TEAM网络组接口
JSON指定runner方式
格式:’{“runner”. {“name”: ”method”}}’
method可以是broadcast、roundrobin、activebackup、loadbalance
创建接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME连接名
INAME网络接口名
TEAM网络组接口
多次创建接口后启用接口
nmcli con up CNAME
启用team需要启用team一次,分别启用各网卡一次
断开连接
nmcli dev dis INAME
网络组删除
nmcli connection down team0
teamdctl team0 state
nmcli connection show
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1 有几个网卡绑定team就删除几个
网络客户端工具
ftp,lftp:子命令:get、mget、ls、help
ftp工具,命令行式连接ftp需要填写用户名,默认ftp或者anonymous
ftp进入后会有界面
ls:查看ftp文件列表
!ls:查看客户机文件列表
lcd:查看客户端当前目录位置
get 文件名:下载该文件
put 文件名:上传该文件
mget 文件名1 文件名2 …:下载文件1、文件2…
mput 文件名1 文件名2 …:上传文件1、文件2…
ftp不支持补全
lftp工具,ftp升级版,默认ftp登录,增添颜色,支持linux的tab补全,
lftp[-p port] [-u user[,password]] SERVER
lftpgetURL
lftpget ftp://...... 从ftp下载文件
wget不仅支持ftp协议,还支持http协议
wget[option]... [URL]...
-q: 静默模式
-c: 断点续传
-P:保存在指定目录
-O: 保存为指定的文件名 wget http://... -o /app/file,从网站下载文件保存为/app下file
--limit-rate=: 指定传输速率,单位K,M等
links URL,纯字符界面浏览器
--dump,links URL --dump提取纯文字
--source,直接看源代码