现在,您已准备好启动在 Linux 裸cSRX Docker 中运行的容器。启动 cSRX映像时,您拥有正在运行的映像容器。您可以停止并重新启动 cSRX 容器(请参阅 管理 cSRX 容器 ),除非已明确删除这些更改,否则该容器将保留所有设置和文件系统更改。但是,cSRX内存将会丢失,所有进程都将重新启动。
您拥有一系列cSRX环境变量,用于启用在启动时修改 cSRX 容器的操作特征。您可以修改:
使用 SSH 登录 cSRX容器的初始 root 帐户密码
部署 cSRX必须启用 SSH 服务和 SSH 选项以作为 root 登录。默认情况下,SSH 服务不会启用。
要启用 SSH 服务运行 命令 set system services ssh
,并且对于 root 用户登录,运行 set system services ssh root-login allow
命令。
信息流转发模式(静态路由或安全线路)
cSRX容器大小(小型、中型或大型)
数据包 I/O 驱动程序(轮询或中断)
用于控制cSRX守护程序的 CPU 亲和性
地址解析协议 (ARP) 和邻居发现协议 (NDP) 入口超时值
需要添加至容器的接口数。默认值为 3,最大为 17(表示 1 个管理接口和 16 个数据接口)。
注意:
启动容器时,环境变量的规格不是必备cSRX;大多数环境变量都有默认值,如 cSRX 环境变量概述 中所示。您可使用默认cSRX变量设置启动路由。
docker run
使用 命令启动 cSRX 容器。您可包含mgt_bridge
管理网桥,以将 cSRX连接到网络。如果您想使用 SSH 登录 cSRX容器,则启动此密钥时,必须指定初始 root cSRX。
root@csrx-ubuntu3:~/csrx# docker run -d --privileged --network=mgt_bridge -e CSRX_ROOT_PASSWORD=<password> --name=<csrx-container-name> hub.juniper.net/security/<csrx-image-name>
例如,要使用软件映像 csrx2
cSRX csrx:18.21R1.9
root 密码输入启动 root123
:
root@csrx-ubuntu3:~/csrx# docker run -d --privileged --network=mgt_bridge -e CSRX_ROOT_PASSWORD=root123 --name=csrx2 hub.juniper.net/security/csrx:18.2R1.9
注意:
您必须在 命令中包括 --privileged
标志 docker run
,以使 cSRX容器在权限模式下运行。
- 将左右网桥连接到 Docker 网络。
root@csrx-ubuntu3:~/csrx# docker network connect left_bridge csrx2
root@csrx-ubuntu3:~/csrx#
root@csrx-ubuntu3:~/csrx# docker network connect right_bridge csrx2
root@csrx-ubuntu3:~/csrx#
- 确认三网桥网络已针对该容器cSRX。
root@csrx-ubuntu3:~/csrx# docker network ls
NETWORK ID NAME DRIVER SCOPE
80bea9207560 bridge bridge local
619da6736359 host host local
112ab00aab1a left_bridge bridge local
1484998f41bb mgt_bridge bridge local
daf7a5a477bd none null local
e409a4f54237 right_bridge bridge local
- 确认该cSRX容器已作为运行中 Docker 容器列出。
root@csrx-ubuntu3:~/csrx# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35e33e8aa4af csrx "/etc/rc.local init" 7 minutes ago Up 7 minutes 22/tcp, 830/tcp csrx2
- 确认cSRX容器已启动并正在运行。您可看到预期的Junos OS流程,例如 nsd、srxpfe 和 mgd。
root@csrx-ubuntu3:~/csrx# docker top csrx2
UID PID PPID C STIME TTY TIME CMD
root 318 305 0 09:13 pts/1 00:00:00 bash
root 27423 27407 0 Mar30 pts/0 00:00:00 /bin/bash -e /etc/rc.local init
root 27867 27423 0 Mar30 ? 00:08:16 /usr/sbin/rsyslogd -M/usr/lib/rsyslog
root 27880 27423 0 Mar30 ? 00:00:00 /usr/sbin/sshd
root 27882 27423 0 Mar30 ? 00:00:00 /usr/sbin/nstraced
root 27907 27423 0 Mar30 ? 00:00:08 /usr/sbin/mgd
root 27963 27423 0 Mar30 pts/0 00:34:50 /usr/bin/monit -I
root 27979 27423 0 Mar30 ? 00:01:10 /usr/sbin/nsd
root 27989 27423 0 Mar30 ? 00:00:02 /usr/sbin/appidd -N
root 28023 27423 0 Mar30 ? 00:00:21 /usr/sbin/idpd -N
root 28040 27423 0 Mar30 ? 00:09:21 /usr/sbin/wmic -N
root 28048 27423 0 Mar30 ? 00:52:50 /usr/sbin/useridd -N
root 28126 27423 2 Mar30 ? 1-05:21:47 /usr/sbin/srxpfe -a -d
root 28186 27423 0 Mar30 ? 00:01:37 /usr/sbin/utmd -N
root 28348 27423 0 Mar30 ? 00:02:44 /usr/sbin/kmd
- 确认该容器的管理接口的 IP cSRX地址。
root@csrx-ubuntu3:~/csrx# docker inspect csrx2 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "",
"IPAddress": "172.19.0.2",
"IPAddress": "172.18.0.2",
"IPAddress": "172.20.0.2",