返回列表 發帖

Phicomm N1 Docker Openconnect server

本帖最後由 yiucsw 於 2020-1-20 00:04 編輯

Reference to http://www.telecom-cafe.com/foru ... &extra=page%3D1
Prepare Docker
1) create directory.  e.g. ~/docker/ocserv
2) create the following file: (要有備份)
    etc/ocserv.conf
    etc/entrypoint.sh
    etc/ssl for ssl certification
    Dockerfile (instruction file to create docker)

本帖最後由 yiucsw 於 2021-1-1 10:55 編輯

manage Docker
Browser
N1ip:9000

在 control panel 看到不要的 Container 便 Remove
在 Image 也一樣。

TOP

本帖最後由 yiucsw 於 2020-1-9 19:06 編輯

ocpasswd  (主要是用 Certification,沒有用 這個)

just touch to create a filename

Add user: e.g. testuser. ocserv 是 Container name.
  1. docker exec -it ocserv ocpasswd testuser
複製代碼


可以在/etc/ocserv 內看到 user 的名字。

TOP

Entrypoint.sh

#!/bin/sh
set -e

# open iptables nat
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

exec "$@"

TOP

Dockerfile , 其實 expose 443 便可以。

#Download Ubuntu Stable version
FROM ubuntu:latest

# layer 1 china timezone
RUN apt-get update && apt-get -y install unzip gnutls-bin bash iptables curl ocserv && \
    echo "Asia/Shanghai" > /etc/timezone

WORKDIR /etc/ocserv
# use volume to map host directory to container directory . to /etc/ocserv
RUN rm -rf /etc/ocserv
COPY entrypoint.sh /entrypoint.sh
run chmod a+x /entrypoint.sh

EXPOSE 22 80 443
ENTRYPOINT ["/entrypoint.sh"]
CMD ["ocserv", "-c", "/etc/ocserv/ocserv.conf", "-f"]

TOP

本帖最後由 yiucsw 於 2021-1-1 10:54 編輯

cd ~/docker-ocserv
Create an image
  1. docker build -t ocserv .  
複製代碼

Create container
  1. Docker run -it -d -p 443:443 -p 443:443/udp -v $PWD/etc/:/etc/ocserv:ro  --cap-add=NET_ADMIN --device=/dev/net/tun  --name ocserv nocserv
複製代碼


  1. docker logs ocserv
複製代碼

TOP

返回列表