虚拟化的 SRX 支持 dns 代理、ip in ip tunnel、ipsec vpn 等功能,在要求不高的情况下,可以部署在虚拟化环境中使用。
本文介绍如何在 kvm 中部署,并且测试了部分功能。
主要涉及知识点 openvswitch、kvm、junos 的基本配置
需要一台 Linux 主机,安装好 kvm 和 openvswitch(以下简称 ovs)
两台 srx 部署在 kvm 中,每台使用 2 个端口连接 ovs
添加两个 namespace,使用 iperf3 测试稳定性
添加 ovs 网桥
ovs-vsctl add-br example-ovsbr0
定义 kvm 网络
编辑 xml 文件如下
vim example-ovsbr0.xml<network> <name>example-ovsbr0</name> <forward mode='bridge'/> <bridge name='example-ovsbr0'/> <virtualport type='openvswitch'/> <portgroup name='VLAN11'> <vlan>¡ <tag id='11'/> </vlan> </portgroup> <portgroup name='VLAN12'> <vlan> <tag id='12'/> </vlan> </portgroup> <portgroup name='VLAN13'> <vlan> <tag id='13'/> </vlan> </portgroup> <portgroup name='VLAN14'> <vlan> <tag id='14'/> </vlan> </portgroup></network>创建 kvm 网络
virsh net-define example-ovsbr0.xml
启动网络并设置为自动启动
virsh net-start example-ovsbr0
virsh net-autostart example-ovsbr0
将网卡类型改为 e1000,否则会不识别
需要添加 3 个网卡,分别对应 srx 的端口 ge0/0/0、ge0/0/1、ge0/0/2,其中 ge0/0/0 不使用
命令如下所示
为了方便,我这里将所有使用到的网口都放在了 trust 区域
在其他主机使用 dig 命令测试
dig www.baidu.com @172.19.11.100; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.3 <<>> www.baidu.com @172.19.11.100;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40389;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 13, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:;www.baidu.com.INA;; ANSWER SECTION:www.baidu.com.1038INCNAMEwww.a.shifen.com.www.a.shifen.com.146INA163.177.151.110www.a.shifen.com.146INA163.177.151.109;; AUTHORITY SECTION:.2276INNSj.root-servers.net..2276INNSf.root-servers.net..2276INNSc.root-servers.net..2276INNSk.root-servers.net..2276INNSl.root-servers.net..2276INNSg.root-servers.net..2276INNSm.root-servers.net..2276INNSe.root-servers.net..2276INNSd.root-servers.net..2276INNSi.root-servers.net..2276INNSa.root-servers.net..2276INNSh.root-servers.net..2276INNSb.root-servers.net.;; Query time: 55 msec;; SERVER: 172.19.11.100#53(172.19.11.100);; WHEN: Sun May 17 16:56:14 CST 2020;; MSG SIZE rcvd: 312--------------------------------dig test.houm01.cn @172.19.11.100; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.3 <<>> test.houm01.cn @172.19.11.100;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49291;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:;test.houm01.cn.INA;; ANSWER SECTION:test.houm01.cn.86400INA99.99.99.99;; AUTHORITY SECTION:test.houm01.cn.86400INNStest.houm01.cn.;; Query time: 8 msec;; SERVER: 172.19.11.100#53(172.19.11.100);; WHEN: Sun May 17 16:57:01 CST 2020;; MSG SIZE rcvd: 73可以看到,解析公网域名和自定义的域名都没有问题
从 ns1 ping ns2
ip netns exec ns1 ping 172.19.14.200PING 172.19.14.200 (172.19.14.200) 56(84) bytes of data.64 bytes from 172.19.14.200: icmp_seq=1 ttl=62 time=66.5 ms64 bytes from 172.19.14.200: icmp_seq=2 ttl=62 time=51.7 ms^C--- 172.19.14.200 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1002msrtt min/avg/max/mdev = 51.769/59.155/66.542/7.390 ms可以看到,能够正常 ping 通,说明 ip in ip tunnel 是正常的
执行如下命令测试
# 将 ns1 作为服务器端侦听ip netns exec ns1 iperf3 -s# 将 ns2 作为客户端,测试半小时ip netns exec ns2 iperf3 -c 172.19.13.100 -t 1800http://www.iwan.wiki/Virtual_router_instances_Juniper_vSRX,_Juniper_vMX_and_GNS3
https://kb.juniper.net/InfoCenter/index?page=content&id=KB23986
了解新钛云服
新钛云服正式获批工信部ISP/IDC(含互联网资源协作)牌照
TiOps,支持多云环境安全远程运维,疫情期间免费对外开放,助力远程安全办公!
深耕专业,矗立鳌头,新钛云服获千万Pre-A轮融资
新钛云服,打造最专业的Cloud MSP+,做企业业务和云之间的桥梁
新钛云服一周年,完成两轮融资,服务五十多家客户
上海某仓储物流电子商务公司混合云解决方案
新钛云服出品的部分精品技术干货
国内主流公有云VPC使用对比及总结
万字长文:云架构设计原则|附PDF下载
刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!
Ceph OSD故障排除|万字经验总结
七个用于Docker和Kubernetes防护的安全工具
运维人的终身成长,从清单管理开始|万字长文!
OpenStack与ZStack深度对比:架构、部署、计算存储与网络、运维监控等
什么是云原生?
IT混合云战略:是什么、为什么,如何构建?