FreifunkMD / jool-docker

jool as docker container
MIT License
2 stars 2 forks source link

upgrade to jool version 4.x #2

Open christf opened 5 years ago

christf commented 5 years ago

hopefully resolving pmtu issues.

Jasper-Ben commented 4 years ago

Currently working on it.

Jasper-Ben commented 4 years ago

I am still having trouble compiling 4.x Jool in Alpine due to the usage of musl libc. However, in the dev branch there is a Dockerfile-Debian. This image should work for now, I will continue working on the Alpine image.

Jasper-Ben commented 4 years ago

Done with https://github.com/FreifunkMD/jool-docker/commit/113e21ece2e8966a47027a6983de8eceee0ebd83

christf commented 4 years ago

jool4 is configured differently. I had to manually create this file:

{
    "comment": "Freifunk Magdeburg NAT64",
    "instance": "default",
    "framework": "netfilter",

    "global": {
        "pool6": "64:ff9b::/96",
        "manually-enabled": true,

        "zeroize-traffic-class": false,
        "override-tos": false,
        "tos": 0,
        "mtu-plateaus": [1280, 1006, 508, 296, 68],
        "maximum-simultaneous-opens": 16,
        "source-icmpv6-errors-better": true,
        "handle-rst-during-fin-rcv": false,
        "f-args": 8,

        "logging-bib": false,
        "logging-session": false,

        "address-dependent-filtering": true,
        "drop-icmpv6-info": false,
        "drop-externally-initiated-tcp": false,

        "udp-timeout": "5:00",
        "tcp-est-timeout": "4:00:00",
        "tcp-trans-timeout": "4:00",
        "icmp-timeout": "1:00",

        "ss-enabled": false,
        "ss-flush-asap": true,
        "ss-flush-deadline": 2000,
        "ss-capacity": 512,
        "ss-max-payload": 1452
    },

    "pool4": [
        {
            "mark": 66,
            "protocol": "TCP",
            "prefix": "10.11.12.2",
            "port range": "1024-65535"
        }, {
            "mark": 66,
            "protocol": "UDP",
            "prefix": "10.11.12.2",
            "port range": "1024-65535"
        }, {
            "mark": 66,
            "protocol": "ICMP",
            "prefix": "10.11.12.2",
            "port range": "61001-65535"
        }
    ]
}

and inside the container run jool file handle

to make this all work.

Jasper-Ben commented 4 years ago

I see. I added a new pull request https://github.com/FreifunkMD/jool-docker/pull/7. I am not sure if that's what you meant, so please take a look at it first. Does this mean that other config files such as jool.env or netsocket.json etc. are obsolete?

christf commented 4 years ago

This Config is required to run jool. The env Config is a Config for the Container. I'd keep the Config in the Container Abstraktion Level and generate The jool Config base in These few variables.

An alternative is requiring users to Mount the jool Config file into the Container. This is more flexible and requires more jool knowledge.