{
    "mode": "man",
    "parameter": "ip-tunnel",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/ip-tunnel/8/json",
    "generated": "2026-09-14T21:06:36Z",
    "synopsis": "",
    "sections": {
        "NAME": {
            "content": "ip-tunnel - tunnel configuration\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "",
            "subsections": [
                {
                    "name": "ip tunnel help",
                    "content": "ip [ OPTIONS ] tunnel { add | change | del | show | prl | 6rd } [ NAME ]\n[ mode MODE ] [ remote ADDR ] [ local ADDR ]\n[ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ] ]\n[ encaplimit ELIM ] [ ttl|hoplimit TTL ]\n[ tos TOS ] [ flowlabel FLOWLABEL ]\n[ prl-default ADDR ] [ prl-nodefault ADDR ] [ prl-delete ADDR ]\n[ 6rd-prefix ADDR ] [ 6rd-relayprefix ADDR ] [ 6rd-reset ]\n[ [no]pmtudisc ] [ [no]ignore-df ] [ [no]allow-localremote ]\n[ dev PHYSDEV ]\n\nMODE :=  { ipip | gre | sit | isatap | vti | ip6ip6 | ipip6 | ip6gre | vti6 | any }\n\nADDR := { IPADDRESS | any }\n\nTOS := { STRING | 00..ff | inherit | inherit/STRING | inherit/00..ff }\n\nELIM := { none | 0..255 }\n\nTTL := { 1..255 | inherit }\n\nKEY := { DOTTEDQUAD | NUMBER }\n\n"
                }
            ]
        },
        "DESCRIPTION": {
            "content": "tunnel objects are tunnels, encapsulating packets in IP packets and then sending them over\nthe IP infrastructure.  The encapsulating (or outer) address family is specified by the -f\noption. The default is IPv4.\n\n",
            "subsections": [
                {
                    "name": "ip tunnel add",
                    "content": "add a new tunnel\n"
                },
                {
                    "name": "ip tunnel change",
                    "content": "change an existing tunnel\n"
                },
                {
                    "name": "ip tunnel delete",
                    "content": "destroy a tunnel\n\nname NAME (default)\nselect the tunnel device name.\n\n\nmode MODE\nset  the  tunnel mode. Available modes depend on the encapsulating address fam‐\nily.\nModes for IPv4 encapsulation available: ipip, sit, isatap, vti, and gre.\nModes for IPv6 encapsulation available: ip6ip6, ipip6, ip6gre, vti6, and any.\n\n\nremote ADDRESS\nset the remote endpoint of the tunnel.\n\n\nlocal ADDRESS\nset the fixed local address for tunneled packets.  It must be an address on an‐\nother interface of this host.\n\n\nttl N\n\nhoplimit N\nset a fixed TTL (IPv4) or hoplimit (IPv6) N on tunneled packets.  N is a number\nin the range 1--255. 0 is a special value meaning that packets inherit the  TTL\nvalue.   The default value for IPv4 tunnels is: inherit.  The default value for\nIPv6 tunnels is: 64.\n\n\n\ntos T\n\ndsfield T\n\ntclass T\nset the type of service (IPv4) or traffic class (IPv6) field on tunneled  pack‐\nets, which can be specified as either a two-digit hex value (e.g. c0) or a pre‐\ndefined  string  (e.g.  internet).   The  value  inherit causes the field to be\ncopied from the original IP header. The values inherit/STRING or inherit/00..ff\nwill set the field to STRING or 00..ff when tunneling non-IP packets.  The  de‐\nfault value is 00.\n\n\ndev NAME\nbind the tunnel to the device NAME so that tunneled packets will only be routed\nvia this device and will not be able to escape to another device when the route\nto endpoint changes.\n\n\nnopmtudisc\ndisable Path MTU Discovery on this tunnel.  It is enabled by default. Note that\na fixed ttl is incompatible with this option: tunneling with a fixed ttl always\nmakes pmtu discovery.\n\n\nignore-df\nenable  IPv4 DF suppression on this tunnel.  Normally datagrams that exceed the\nMTU will be fragmented; the presence of the DF flag  inhibits  this,  resulting\ninstead in an ICMP Unreachable (Fragmentation Required) message.  Enabling this\nattribute causes the DF flag to be ignored.\n\n\nkey K\n\nikey K\n\nokey K (  only  GRE  tunnels ) use keyed GRE with key K. K is either a number or an IP\naddress-like dotted quad.  The key parameter sets the key to use in both direc‐\ntions.  The ikey and okey parameters set different keys for input and output.\n\n\ncsum, icsum, ocsum\n( only GRE tunnels ) generate/require checksums for tunneled packets.  The  oc‐\nsum  flag  calculates  checksums for outgoing packets.  The icsum flag requires\nthat all input packets have the correct checksum. The csum flag  is  equivalent\nto the combination icsum ocsum.\n\n\nseq, iseq, oseq\n(  only  GRE  tunnels ) serialize packets.  The oseq flag enables sequencing of\noutgoing packets.  The iseq flag requires that all input  packets  are  serial‐\nized.   The  seq  flag  is equivalent to the combination iseq oseq.  It doesn't\nwork. Don't use it.\n\n\nencaplimit ELIM\n( only IPv6 tunnels ) set a fixed encapsulation limit. Default is 4.\n\n\nflowlabel FLOWLABEL\n( only IPv6 tunnels ) set a fixed flowlabel.\n\n\nallow-localremote\n( only IPv6 tunnels ) allow remote endpoint on the local host.\n\n"
                },
                {
                    "name": "ip tunnel prl",
                    "content": "potential router list (ISATAP only)\n\ndev NAME\nmandatory device name.\n\n\nprl-default ADDR\n\nprl-nodefault ADDR\n\nprl-delete ADDR\nAdd or delete ADDR as a potential router or default router.\n\n"
                },
                {
                    "name": "ip tunnel show",
                    "content": "list tunnels This command has no arguments.\n\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "ip(8)\n\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Original Manpage by Michail Litvak <mci@owl.openwall.com>\n\niproute2                                     20 Dec 2011                                IP-TUNNEL(8)",
            "subsections": []
        }
    },
    "summary": "ip-tunnel - tunnel configuration",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "ip",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/ip/8/json"
        }
    ]
}