2020-01-29 19:40:43 -06:00
|
|
|
# docker image for nat
|
|
|
|
|
|
|
|
DOCKER_NAT_STEM = docker-nat
|
|
|
|
DOCKER_NAT = $(DOCKER_NAT_STEM).gz
|
|
|
|
DOCKER_NAT_DBG = $(DOCKER_NAT_STEM)-$(DBG_IMAGE_MARK).gz
|
|
|
|
|
|
|
|
$(DOCKER_NAT)_PATH = $(DOCKERS_PATH)/$(DOCKER_NAT_STEM)
|
|
|
|
|
2020-06-27 03:17:20 -05:00
|
|
|
$(DOCKER_NAT)_DEPENDS += $(SWSS) $(IPTABLESIP4TC) $(IPTABLESIP6TC) $(IPTABLESIPTC) $(IPXTABLES12) $(IPTABLES)
|
2023-04-02 16:02:33 -05:00
|
|
|
$(DOCKER_NAT)_DBG_DEPENDS = $($(DOCKER_SWSS_LAYER_BULLSEYE)_DBG_DEPENDS)
|
2020-01-29 19:40:43 -06:00
|
|
|
$(DOCKER_NAT)_DBG_DEPENDS += $(SWSS_DBG) $(LIBSWSSCOMMON_DBG)
|
2023-04-02 16:02:33 -05:00
|
|
|
$(DOCKER_NAT)_DBG_IMAGE_PACKAGES = $($(DOCKER_SWSS_LAYER_BULLSEYE)_DBG_IMAGE_PACKAGES)
|
2020-01-29 19:40:43 -06:00
|
|
|
|
2023-04-02 16:02:33 -05:00
|
|
|
$(DOCKER_NAT)_LOAD_DOCKERS += $(DOCKER_SWSS_LAYER_BULLSEYE)
|
2020-01-29 19:40:43 -06:00
|
|
|
|
2021-04-26 15:51:50 -05:00
|
|
|
$(DOCKER_NAT)_VERSION = 1.0.0
|
|
|
|
$(DOCKER_NAT)_PACKAGE_NAME = nat
|
2021-07-11 08:58:05 -05:00
|
|
|
$(DOCKER_NAT)_WARM_SHUTDOWN_BEFORE = swss
|
|
|
|
$(DOCKER_NAT)_FAST_SHUTDOWN_BEFORE = swss
|
2021-04-26 15:51:50 -05:00
|
|
|
|
2020-08-05 15:23:12 -05:00
|
|
|
ifeq ($(INCLUDE_NAT), y)
|
2020-01-29 19:40:43 -06:00
|
|
|
SONIC_DOCKER_IMAGES += $(DOCKER_NAT)
|
|
|
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_NAT)
|
2020-02-21 12:20:07 -06:00
|
|
|
endif
|
2020-01-29 19:40:43 -06:00
|
|
|
|
2020-08-05 15:23:12 -05:00
|
|
|
ifeq ($(INCLUDE_NAT), y)
|
2020-01-29 19:40:43 -06:00
|
|
|
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_NAT_DBG)
|
|
|
|
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_NAT_DBG)
|
2020-02-21 12:20:07 -06:00
|
|
|
endif
|
2020-01-29 19:40:43 -06:00
|
|
|
|
|
|
|
$(DOCKER_NAT)_CONTAINER_NAME = nat
|
[docker-nat] limit privileged flag for nat container (#17756)
### Why I did it
HLD implementation: Container Hardening (https://github.com/sonic-net/SONiC/pull/1364)
### How I did it
Reduce linux capabilities in privileged flag
#### How to verify it
Check container's settings: Privileged is false and container only has default Linux caps, does not have extended caps.
```
admin@vlab-01:~$ docker inspect nat | grep Privi
"Privileged": false,
admin@vlab-01:~$ docker exec -it nat bash
root@vlab-01:/# capsh --print
Current: cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep
```
2024-01-26 12:43:35 -06:00
|
|
|
$(DOCKER_NAT)_RUN_OPT += -t --cap-add=NET_ADMIN
|
2020-01-29 19:40:43 -06:00
|
|
|
$(DOCKER_NAT)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
2023-06-25 18:36:09 -05:00
|
|
|
$(DOCKER_NAT)_RUN_OPT += -v /etc/timezone:/etc/timezone:ro
|
2020-01-29 19:40:43 -06:00
|
|
|
$(DOCKER_NAT)_RUN_OPT += -v /host/warmboot:/var/warmboot
|
|
|
|
|
2020-03-05 17:27:21 -06:00
|
|
|
$(DOCKER_NAT)_FILES += $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)
|
2020-01-29 19:40:43 -06:00
|
|
|
|
2020-03-05 17:27:21 -06:00
|
|
|
$(DOCKER_NAT)_BASE_IMAGE_FILES += natctl:/usr/bin/natctl
|
2021-06-30 14:45:40 -05:00
|
|
|
|
2023-04-02 16:02:33 -05:00
|
|
|
SONIC_BULLSEYE_DOCKERS += $(DOCKER_NAT)
|
|
|
|
SONIC_BULLSEYE_DBG_DOCKERS += $(DOCKER_NAT_DBG)
|