华为S7712交换机配置端口聚合

环境介绍及分析

有两台华为S7712交换机做了堆叠,需要双线下联接入交换机,需要做链路聚合,且接口类型为trunk。
由于两台7712做了聚合,逻辑上是一台设备,考虑到单台物理设备故障不影响聚合链路,下联至接入交换机的双线应分别连接到两台物理交换机上。两台物理设备之间也可使用链路聚合。

链路聚合的特性

  • 提高可靠性
  • 增加带宽
  • 提供负载均衡功能
  • 需要多个物理接口,且聚合接口的属性必须全部相同,比如电口和光口不能聚合,千兆口和万兆口不能聚合
  • 聚合接口只能是双数,比如双线,四线,六线,八线等聚合,三线,五线等单数不能聚合

操作方法

创建聚合接口,id是2,这里的聚合id只在本地有效,聚合接口连接的两端物理设备无需使用相同id。
设置接口类型为trunk,且只允许vlan20-vlan30通过。

1
2
3
4
interface Eth-Trunk 2
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 20 to 30

012321_1343_S77121.png
在物理接口下使用eth-trunk x命令将物理接口加入聚合组。vlan-interface等虚接口不能聚合。

1
2
3
4
int g1/6/1/0
eth-trunk 2
int g2/6/1/0
eth-trunk 2

012321_1343_S77122.png
完成后,可通过dis int eth-trunk 2查看聚合组及组内物理接口状态,组内所有成员都up则配置完成。
012321_1343_S77123.png
如果某物理接口需要退出聚合组,则在接口下将其undo,聚合组内没有物理接口时,才可删除聚合组。

1
2
3
4
int g1/6/1/0
undo eth-trunk 2
quit
undo eth-trunk 2

pfsense配置dns转发器

1,System->General Setup中配置系统DNS。如不配置系统DNS,后面转发无效。
011321_1457_pfsensedns1.png
2,Services->DNS Forwarder中打开并配置转发。
011321_1457_pfsensedns2.png
勾选Enable DNS Forwarder/Query DNS server sequentially/Require domain选项,如果解析的域名中有指向私网ip,则取消Do not forward private reverse lookups选项。

名称 含义
Query DNS server sequentially 按顺序请求dns服务器
Require domain 请求域名
Do not forward private reverse lookups 不转发RFC1918定义的私有ip解析
Listen Port 监听端口,默认顺序是使用udp和tcp53端口
Interfaces 允许客户端请求dns解析的接口

011321_1457_pfsensedns3.png
3,如果要请求的某个域名有解析记录指向私有ip,需取消勾选Do not forward private reverse lookups选项,并在Custom options加入下列配置,如果有多个域名,则重复多行。

1
rebind-domain-ok=/danteng.org/

参考场景:pfsense作为出口网关,有域名指向内网ip。
011321_1457_pfsensedns4.png
如不配置,会出现下列错误,且客户端解析不到结果

1
possible DNS-rebind attack detected: s1.danteng.org

011321_1457_pfsensedns5.png
4,点击Save保存,并Apply Change使之生效。
011321_1457_pfsensedns6.png

vyos配置vrrp热备

环境介绍

有vyos两台,内网段是172.16.1.0,外网段是10.0.1.0。
内网ip分别是172.16.1.2和172.16.1.3,外网ip分别是10.0.1.21和10.0.1.27。
内网vip是172.16.1.1,外网vip是10.0.1.111。
内网使用nat访问外网。
如无说明,掩码都是/24。

需求

两台设备配置vrrp热备,一台设备故障后另一台设备接管。
内外网vip在接管业务时自动漂移。
内网nat成外网vip通信。

操作方法

1,两台vyos各自配置内外网ip,下面所有操作都需要在两台设备上配置。
2,设备配置外网热备组,热备组vrid需保持一致。

1
2
3
set high-availability vrrp group hawan vrid 10
set high-availability vrrp group hawan virtual-address 10.0.1.111/24
set high-availability vrrp group hawan interface eth0

3,设备配置内网热备组,热备组vrid需保持一致。

1
2
3
set high-availability vrrp group halan vrid 20
set high-availability vrrp group halan virtual-address 172.16.1.1/24
set high-availability vrrp group halan interface eth1

4,分别为内外网创建vrrp同步组。此步骤可省略,但切换时间会更长。

1
2
set high-availability vrrp sync-group halansync member halan
set high-availability vrrp sync-group hawansync member hawan

5,配置nat

1
2
3
set nat source rule 100 outbound-interface eth0
set nat source rule 100 source address 172.16.1.0/24
set nat source rule 100 translation address 10.0.1.111

6,commit应用配置,此时由于vrrp尚未启动,会出现ip地址不存在的告警,不影响使用。且从下图可看到配置应用顺序是先nat再vrrp。
010921_1416_vyosvrrp1.png
7,退出配置模式,使用show vrrp命令查看,现在vyos-2是master,vyos-3是backup。如下所示,vrrp热备组已经配置成功。
010921_1416_vyosvrrp2.png
010921_1416_vyosvrrp3.png

验证

8,在内网机器上ping内外网的vip和公网ip,均有响应。
010921_1416_vyosvrrp4.png
9,给vyos-2(master)断电模拟故障,此时可看到发生丢包。
010921_1416_vyosvrrp5.png
010921_1416_vyosvrrp6.png
查看vyos-3,vrrp状态变更为master,业务接管完成。
010921_1416_vyosvrrp7.png
完整配置如下
010921_1416_vyosvrrp8.png
010921_1416_vyosvrrp9.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
admin@vyos-3# show high-availability
vrrp {
group halan {
interface eth1
virtual-address 172.16.1.1/24
vrid 20
}
group hawan {
interface eth0
virtual-address 10.0.1.111/24
vrid 10
}
sync-group halansync {
member halan
}
sync-group hawansync {
member hawan
}
}
[edit]
admin@vyos-3# show nat
source {
rule 100 {
outbound-interface eth0
source {
address 172.16.1.0/24
}
translation {
address 10.0.1.111
}
}
}
[edit]

pfsense在trunk接口配置带vlan-tag的pppoe拨号

环境介绍

从运营商来的线路是trunk模式,pppoe在vlan 3961上,必须带vlan-tag才能拨通。且802.1p=6。

需求

在wan口上配置vlan子接口,携带vlan-tag拨号,并配置802.1p=6。

操作方法

1,Interfaces->Assignments->VLANs->Add增加vlan子接口。
010621_1511_pfsensetrun1.png
2,在新窗口中,Parent Interface选择来自运营商的物理接口,VLAN Tag填写vlan-id 3961,Vlan Priority填写802.1p值6,点击save。
010621_1511_pfsensetrun2.png
完成后可看到VLANs里出现子接口信息。
010621_1511_pfsensetrun3.png
3,Interfaces->WAN->IPv4 Configuration Type选择PPPoE。
010621_1511_pfsensetrun4.png
PPPoE Configuration中填写PPPoE帐号信息,Username是用户名,Password是密码,密码需要在Confirm中再填一次,完成后先点Save保存再配置vlan子接口,否则已填写的帐号密码将全部丢失。
另外,如果运营商给的ip是私有地址,需取消勾选Block private networks and loopback addressesBlock bogon networks两个选项,否则不能正常通信。这两个选项是阻止私有网络地址,如果运营商给的是公网ip,这两项可选可不选。
010621_1511_pfsensetrun5.png
4,保存后,在PPPoE Configuration中点击Advanced and MLPPP,配置vlan子接口。
010621_1511_pfsensetrun6.png
选择第二步中增加的vlan-3961子接口,点击save保存。这里的表示方式是em0.3961,即em0物理接口的3961子接口。
010621_1511_pfsensetrun7.png
5,回到Interfaces->WAN中,点击Apply Changes,配置生效。
010621_1511_pfsensetrun8.png
稍后片刻回到首页,看到Interfaces中出现ip地址,即配置完成且pppoe拨通。
010621_1511_pfsensetrun9.png

思科路由器配置NAT

端口映射是指在路由器开放一个端口,映射到相应的计算机。当外网有数据访问路由器开放的端口时,路由器直接将来自于这个端口的所有数据转发到相应的计算机上,而不是路由器自己接收。这种技术可以把一个公网地址映射到多台内网服务器上。

组网结构及需求

某企业的网络拓扑,路由器通过专线连接到外网,只有一个公网地址:202.99.111.2;内网的网段是192.168.0.0/24,内网有一台Web服务器(192.168.0.100)和一台Ftp服务器(192.168.0.101)需要同时对外网提供服务。要求在路由器上设置端口映射,把公网地址202.99.111.2的TCP80端口映射到Web服务器服务器;TCP21端口映射到Ftp服务器。

配置步骤和方法

配置路由器接口地址和路由

1
2
3
4
5
6
7
8
9
10
11
12
13
interface FastEthernet0/0
ip address 192.168.0.1 255.255.255.0
ip nat inside (nat内网接口)
duplex auto
speed auto
interface Serial0/0
description to internet
ip address 202.99.111.2 255.255.255.252
ip nat outside
(nat外网接口)
encapsulation ppp
ip route 0.0.0.0 0.0.0.0 202.99.111.1
(默认路由指向internet)

配置NAT(假如内网地址不访问公网,此步骤可以不做)

1
2
3
ip nat inside source list 1 interface Serial0/0 overload 
(将192.168.0.0的地址转换为接口s1/1的地址)
access-list 1 permit 192.168.0.0 0.0.0.255 (建立访问控制列表允许192.168.0.0的地址做nat转换)

配置端口映射

1
2
ip nat inside source static tcp 192.168.0.100 80 202.99.111.2 80 extendable
ip nat inside source static tcp 192.168.0.101 21 202.99.111.2 21 extendable

把公网地址202.99.111.2的tcp80端口和tcp21端口分别映射到192.168.0.100和192.168.0.101服务器;因为202.99.111.2这个地址已经应用在s0/0接口上并做了NAT转换的地址,这里必须加上extendable这个关键字,否则报错。如果用另外的外网ip比如202.99.111.3,在这里就可以不加extendable。

端口映射信息查询

命令show ip nat translations可以查看nat转换情况,如下:

1
2
3
4
5
6
Router#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 202.99.111.2:21 192.168.0.100:21 202.99.111.1:11000 202.99.111.1:11000
tcp 202.99.111.2:80 192.168.0.100:80 — —
tcp 202.99.111.2:21 192.168.0.100:21 — —
tcp 202.99.111.2:80 192.168.0.100:80 202.99.111.1:11001 202.99.111.1:11001

路由器配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Router#sh run
Building configuration…
Current configuration : 1148 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Router
!
memory-size iomem 15
ip subnet-zero
!
call rsvp-sync
!
interface FastEthernet0/0
ip address 192.168.0.1 255.255.255.0
ip nat inside
duplex auto
speed auto
!
interface Serial0/0
description to internet
ip address 202.99.111.2 255.255.255.252
ip nat outside
encapsulation ppp
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial0/1
no ip address
shutdown
!
interface Serial0/2
no ip address
shutdown
!
interface Serial0/3
no ip address
shutdown
!
!
ip nat inside source list 1 interface Serial0/0 overload
ip nat inside source static tcp 192.168.0.100 80 202.99.111.2 80 extendable
ip nat inside source static tcp 192.168.0.101 21 202.99.111.2 21 extendable
ip classless
ip route 0.0.0.0 0.0.0.0 202.99.111.1
ip http server
!
access-list 1 permit 192.168.0.0 0.0.0.255
!
dial-peer cor custom
!
line con 0
line aux 0
line vty 0 4
!
end

路由器加表规则

首先判断路由的管理距离是否为255
如果是,思科设备直接丢弃,不加表,华为设备不丢弃,进行下一步判断
如果不是,则判断该路由条目是否以存在路由表,如果不存在,加表
如果存在,判断新旧路由是否通过相同方式学习到的
如果是,先比较新旧路由的管理距离,小的加入路由表
管理距离一致,比较度量值,小的加入路由表
如果开启负载均衡,则都加入路由表
如果是通过不同方式学习的,则只比较管理距离,小的加入路由表

pfsense配置一对一nat

配置一对一nat前需要先在接口上配置vip,并将此ip作为目标地址使用。
1,确认vip存在且配置正确。
122020_1456_pfsensenat1.png
2,Firewall->NAT->1:1中添加规则。
122020_1456_pfsensenat2.png
3,Interface选择vip所在额的接口,Extermal subnet IP中填写vip作为目标ip使用,Internal IP中填写内网ip,完成后保存。
122020_1456_pfsensenat3.png
4,Apply Changes,配置生效。
122020_1456_pfsensenat4.png

pfsense接口配置多ip

1,登录到pfsense,如果是多机热备,使用vip登录。
2,Firewall->Virtual Ips->Add增加虚拟ip。
121720_1231_pfsenseip1.png
3,在新页面中配置虚拟ip,选择IP Alias项,Interface选择要使用这个IP的接口,Address输入ip并在后面选择掩码,Save保存。
配置项如下:
Type:类型,有IP别名,CARP,ARP代理,其它四种可选。
Description是描述可填可不填。
121720_1231_pfsenseip2.png
4,完成后不会立即生效,确认无误点击Apply Changes,配置生效。
121720_1231_pfsenseip3.png

CentOS7下配置nfs-server

安装与配置

1,安装nfs和rpcbind。

1
yum install nfs-utils rpcbind -y

2,修改nfs配置文件/etc/exports。含义是:

  • /mnt/share 被共享的目录
  • 10.0.1.0/24 允许访问的网段
  • (rw,all_squash) 读写权限
1
/mnt/share 10.0.1.0/24(rw,all_squash)

121320_0515_CentOS7nfss1.png
3,启动rpcbind和nfs服务,有先后顺序。

1
2
3
exportfs -r
service rpcbind start
service nfs start

4,修改被共享目录的属主和属组

1
chown -R nfsnobody:nfsnobody /mnt/share

5,其他机器已可查看并挂载存储

1
showmount -e 10.0.1.2

121320_0515_CentOS7nfss2.png

附文件读写参数:

  • ro:共享目录只读
  • rw:共享目录可读可写
  • all_squash:所有访问用户都映射为匿名用户或用户组
  • no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组
  • root_squash(默认):将来访的root用户映射为匿名用户或用户组
  • no_root_squash:来访的root用户保持root帐号权限
  • anonuid=:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534)
  • anongid=:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534)
  • secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器
  • insecure:允许客户端从大于1024的tcp/ip端口连接服务器
  • sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
  • async:将数据先保存在内存缓冲区中,必要时才写入磁盘
  • wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率
  • no_wdelay:若有写操作则立即执行,应与sync配合使用
  • subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
  • no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
%