您的位置:首页 > 运维架构 > Linux

Linux学习第十七节课-网络基本配置

2018-08-25 08:35 691 查看
Linux学习第十七节课
-----------------------------------------------------------------------------------------------------------------------------------------------

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=ethxHWADDR=xx:xx:xx:xx:xx:xx,此行最好不要添加,防止更换网卡后系统无法识别新网卡BOOTPROTO=dhcpONBOOT=yes 此行默认yes 静态配置DEVICE=ethxIPADDR=x.x.x.xPREFIX=x 或者NETMASK=x.x.x.xGATEWAY=x.x.x.xDNS1=x.x.x.xDNS2=x.x.x.xONBOOT=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,类似这种带冒号的只能手动添加,无法自动获取ipONBOOT:在系统引导时是否激活此设备TYPE:接口类型;常见有的Ethernet, BridgeUUID:设备的惟一标识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:多网卡绑定一个ipBonding工作模式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=bond0BOOTPROTO=noneIPADDR=x.x.x.xPREFIX=x.x.x.xBONDING_OPTS= “miimon=100 mode=x” miimon表示多少毫秒后探测网卡是否还在工作再在需要设置bonding的网卡文件ifcfg-ethx改其配置DEVICE=ethxBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=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 downrmmod 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命令行工具:nmclinmcli 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-bbnmcli 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配置网卡从属bondnmcli con add type bond-slave ifname eth0 master mybond启动bondnmcli con up bond-slave-eth0启动绑定nmcli con up mybond 网络组team网络组:将多个网卡聚合在一起,从而实现冗错和提高吞吐量网络组不同于旧版中bonding技术,提供了更好的性能和扩展性网络组由内核驱动和teamd守护进程实现多种方式 runner方式 broadcast roundrobin activebackup loadbalancenmcli 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 team0teamdctl team0 statenmcli connection shownmcli connectioni delete team0-eth0nmcli connectioni delete team0-eth1 有几个网卡绑定team就删除几个nmcli connection show 网络客户端工具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]] SERVERlftpgetURLlftpget 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,直接看源代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息