2019年8月21日 星期三

memo for installing docker-ce on ubuntu 18.04

Quick Memo for Installing docker-ce on Ubuntu 18.04

# prepare utilities
> sudo apt-get update
> sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

# add key and repository
#    curl -f fail silently
#    curl -s silent mode
#    curl -S show error
#    curl -L allow redirect
> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
> sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

# install docker-ce
> sudo apt-get install docker-ce

# check docker status
> sudo service docker status
> sudo systemctl status docker

# grant docker permission to specific user 'foobar'
> sudo setfacl -m user:foobar:rw /var/run/docker.sock
> sudo setfacl -x user:foobar /var/run/docker.sock
> getfacl /var/run/docker.sock
getfacl: 從絕對路徑名尾部去除“/”字符
# file: var/run/docker.sock
# owner: root
# group: docker
user::rw-
user:foobar:rw-
group::rw-
mask::rw-
other::---
> docker image list

# disable and unload AppArmor for container removal
> sudo aa-status
> sudo systemctl disable apparmor.service --now
> sudo service apparmor teardown
> sudo aa-status


Reference:
1.如何在Ubuntu 18.04上安裝與更新Docker
2.How to use Docker without sudo on Ubuntu
3.Play With Docker provides an Alpine Linux 3.10 environment with docker and git ready for use
     CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz with 8 cores
     Memory: 32GB
     Drive: 64GB with 16GB used
     Limit: Use of up to 5 nodes for up to 4 hours per session

2019年8月20日 星期二

what are the four addresses of an NAT table?

為了達到內部私有網路和外部公開網路有所區隔又可適當互通的防火牆功能,
NAT網路住址轉換技術用到如下4個住址組成的表格作比對及替換:

inside global address 內部主機全域端住址(IGA)
inside local address 內部主機本地端住址(ILA)
outside local address 外部主機本地端住址(OLA)
outside global address 外部主機全域端住址(OGA)

其中,IGA及ILA為內部網路主機於全域端及本地端網路的代表住址,
     OLA及OGA為外部網路主機於全域端及本地端網路的代表住址;
     ILA/OLA為連線封包在本地端網路傳送時的內部/外部網路主機住址,
     IGA/OGA為連線封包在全域端網路傳送時的內部/外部網路主機住址。
即講主機住址時用內部/外部區分主機所在位置,講封包傳送時用本地端/全域端網路區分傳送所在位置,
又住址轉換只發生在內部主機的全域端住址(IGA)及內部主機的本地端住址(ILA)兩者之間。

NAT遇連線封包由內網流向外網,將取封包的來源住址及去處住址,
  比對NAT表格記錄的【內部主機的本地端住址(ILA),外部主機的本地端住址(OLA)】兩欄位,
  若記錄比對成功,將封包的來源住址私有IP替換成NAT表格記錄的【內部主機的全域端住址(IGA)】公開IP。
  若記錄比對不到,建立新記錄如下
      內部主機的全域端住址(IGA) = NAT公開IP
      內部主機的本地端住址(ILA) = 封包來源住址
      外部主機的本地端住址(OLA) = 封包去處住址
      外部主機的全域端住址(OGA) = 封包去處住址

NAT遇連線封包由外網流向內網,將取封包的來源住址及去處住址,
  比對NAT表格記錄的【外部主機的全域端住址(OGA),內部主機的全域端住址(IGA)】兩欄位,
  若記錄比對成功,將封包的去處住址公開IP替換成NAT表格記錄的【內部主機的本地端住址(ILA)】私有IP。
  若記錄比對不到,封包丟棄。