mirror of
				https://git.proxmox.com/git/mirror_iproute2
				synced 2025-10-31 18:42:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			2616 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			2616 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH IP 8 "17 January 2002" "iproute2" "Linux"
 | |
| .SH NAME
 | |
| ip \- show / manipulate routing, devices, policy routing and tunnels
 | |
| .SH SYNOPSIS
 | |
| 
 | |
| .ad l
 | |
| .in +8
 | |
| .ti -8
 | |
| .B ip
 | |
| .RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
 | |
| .BR help " }"
 | |
| .sp
 | |
| 
 | |
| .ti -8
 | |
| .IR OBJECT " := { "
 | |
| .BR link " | " addr " | " addrlabel " | " route " | " rule " | " neigh " | "\
 | |
|  tunnel " | " maddr " | "  mroute " | " monitor " }"
 | |
| .sp
 | |
| 
 | |
| .ti -8
 | |
| .IR OPTIONS " := { "
 | |
| \fB\-V\fR[\fIersion\fR] |
 | |
| \fB\-s\fR[\fItatistics\fR] |
 | |
| \fB\-r\fR[\fIesolve\fR] |
 | |
| \fB\-f\fR[\fIamily\fR] {
 | |
| .BR inet " | " inet6 " | " ipx " | " dnet " | " link " } | "
 | |
| \fB\-o\fR[\fIneline\fR] }
 | |
| 
 | |
| .ti -8
 | |
| .BI "ip link add link " DEVICE
 | |
| .RB "[ " name " ]"
 | |
| .I NAME
 | |
| .br
 | |
| .RB "[ " txqueuelen 
 | |
| .IR PACKETS " ]"
 | |
| .br
 | |
| .RB "[ " address
 | |
| .IR LLADDR " ]"
 | |
| .RB "[ " broadcast
 | |
| .IR LLADDR " ]"
 | |
| .br
 | |
| .RB "[ " mtu
 | |
| .IR MTU " ]"
 | |
| .br
 | |
| .BR type " TYPE"
 | |
| .RI "[ " ARGS " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR TYPE " := [ "
 | |
| .BR vlan " | " maclan " | " can " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BI "ip link delete " DEVICE
 | |
| .BI type " TYPE"
 | |
| .RI "[ " ARGS " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BI "ip link set " DEVICE
 | |
| .RB "{ " up " | " down " | " arp " { " on " | " off " } |"
 | |
| .br
 | |
| .BR promisc " { " on " | " off " } |"
 | |
| .br
 | |
| .BR allmulticast " { " on " | " off " } |"
 | |
| .br
 | |
| .BR dynamic " { " on " | " off " } |"
 | |
| .br
 | |
| .BR multicast " { " on " | " off " } |"
 | |
| .br
 | |
| .B  txqueuelen
 | |
| .IR PACKETS " |"
 | |
| .br
 | |
| .B  name
 | |
| .IR NEWNAME " |"
 | |
| .br
 | |
| .B  address
 | |
| .IR LLADDR " |"
 | |
| .B  broadcast
 | |
| .IR LLADDR " |"
 | |
| .br
 | |
| .B  mtu
 | |
| .IR MTU " |"
 | |
| .br
 | |
| .B  netns
 | |
| .IR PID " |"
 | |
| .br
 | |
| .B alias
 | |
| .IR NAME  " |"
 | |
| .br
 | |
| .B vf
 | |
| .IR NUM " ["
 | |
| .B  mac
 | |
| .IR LLADDR " ] ["
 | |
| .B vlan
 | |
| .IR VLANID " [ "
 | |
| .B qos
 | |
| .IR VLAN-QOS " ] ] ["
 | |
| .B rate
 | |
| .IR TXRATE " ]"
 | |
| 
 | |
| .ti -8
 | |
| .B ip link show
 | |
| .RI "[ " DEVICE " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip addr" " { " add " | " del " } "
 | |
| .IB IFADDR " dev " STRING
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip addr" " { " show " | " flush " } [ " dev
 | |
| .IR STRING " ] [ "
 | |
| .B  scope
 | |
| .IR SCOPE-ID " ] [ "
 | |
| .B  to
 | |
| .IR PREFIX " ] [ " FLAG-LIST " ] [ "
 | |
| .B  label
 | |
| .IR PATTERN " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR IFADDR " := " PREFIX " | " ADDR
 | |
| .B  peer
 | |
| .IR PREFIX " [ "
 | |
| .B  broadcast
 | |
| .IR ADDR " ] [ "
 | |
| .B  anycast
 | |
| .IR ADDR " ] [ "
 | |
| .B  label
 | |
| .IR STRING " ] [ "
 | |
| .B  scope
 | |
| .IR SCOPE-ID " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR SCOPE-ID " := "
 | |
| .RB "[ " host " | " link " | " global " | "
 | |
| .IR NUMBER " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR FLAG-LIST " := [ "  FLAG-LIST " ] " FLAG
 | |
| 
 | |
| .ti -8
 | |
| .IR FLAG " := "
 | |
| .RB "[ " permanent " | " dynamic " | " secondary " | " primary " | "\
 | |
| tentative " | " deprecated " | " dadfailed " | " temporary " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip addrlabel" " { " add " | " del " } " prefix
 | |
| .BR PREFIX " [ "
 | |
| .B dev
 | |
| .IR DEV " ] [ "
 | |
| .B label
 | |
| .IR NUMBER " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip addrlabel" " { " list " | " flush " }"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip route" " { "
 | |
| .BR list " | " flush " } "
 | |
| .I  SELECTOR
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip route save"
 | |
| .I SELECTOR
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip route restore"
 | |
| 
 | |
| .ti -8
 | |
| .B  ip route get
 | |
| .IR ADDRESS " [ "
 | |
| .BI from " ADDRESS " iif " STRING"
 | |
| .RB " ] [ " oif
 | |
| .IR STRING " ] [ "
 | |
| .B  tos
 | |
| .IR TOS " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip route" " { " add " | " del " | " change " | " append " | "\
 | |
| replace " | " monitor " } "
 | |
| .I  ROUTE
 | |
| 
 | |
| .ti -8
 | |
| .IR SELECTOR " := "
 | |
| .RB "[ " root
 | |
| .IR PREFIX " ] [ "
 | |
| .B  match
 | |
| .IR PREFIX " ] [ "
 | |
| .B  exact
 | |
| .IR PREFIX " ] [ "
 | |
| .B  table
 | |
| .IR TABLE_ID " ] [ "
 | |
| .B  proto
 | |
| .IR RTPROTO " ] [ "
 | |
| .B  type
 | |
| .IR TYPE " ] [ "
 | |
| .B  scope
 | |
| .IR SCOPE " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR ROUTE " := " NODE_SPEC " [ " INFO_SPEC " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR NODE_SPEC " := [ " TYPE " ] " PREFIX " ["
 | |
| .B  tos
 | |
| .IR TOS " ] [ "
 | |
| .B  table
 | |
| .IR TABLE_ID " ] [ "
 | |
| .B  proto
 | |
| .IR RTPROTO " ] [ "
 | |
| .B  scope
 | |
| .IR SCOPE " ] [ "
 | |
| .B  metric
 | |
| .IR METRIC " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR INFO_SPEC " := " "NH OPTIONS FLAGS" " ["
 | |
| .B  nexthop
 | |
| .IR NH " ] ..."
 | |
| 
 | |
| .ti -8
 | |
| .IR NH " := [ "
 | |
| .B  via
 | |
| .IR ADDRESS " ] [ "
 | |
| .B  dev
 | |
| .IR STRING " ] [ "
 | |
| .B  weight
 | |
| .IR NUMBER " ] " NHFLAGS
 | |
| 
 | |
| .ti -8
 | |
| .IR OPTIONS " := " FLAGS " [ "
 | |
| .B  mtu
 | |
| .IR NUMBER " ] [ "
 | |
| .B  advmss
 | |
| .IR NUMBER " ] [ "
 | |
| .B  rtt
 | |
| .IR TIME " ] [ "
 | |
| .B  rttvar
 | |
| .IR TIME " ] [ "
 | |
| .B  window
 | |
| .IR NUMBER " ] [ "
 | |
| .B  cwnd
 | |
| .IR NUMBER " ] [ "
 | |
| .B  ssthresh
 | |
| .IR REALM " ] [ "
 | |
| .B  realms
 | |
| .IR REALM " ] [ "
 | |
| .B  rto_min
 | |
| .IR TIME " ] [ "
 | |
| .B  initcwnd
 | |
| .IR NUMBER " ] [ "
 | |
| .B  initrwnd
 | |
| .IR NUMBER " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR TYPE " := [ "
 | |
| .BR unicast " | " local " | " broadcast " | " multicast " | "\
 | |
| throw " | " unreachable " | " prohibit " | " blackhole " | " nat " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR TABLE_ID " := [ "
 | |
| .BR local "| " main " | " default " | " all " |"
 | |
| .IR NUMBER " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR SCOPE " := [ "
 | |
| .BR host " | " link " | " global " |"
 | |
| .IR NUMBER " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR NHFLAGS " := [ "
 | |
| .BR onlink " | " pervasive " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR RTPROTO " := [ "
 | |
| .BR kernel " | " boot " | " static " |"
 | |
| .IR NUMBER " ]"
 | |
| 
 | |
| .ti -8
 | |
| .B  ip rule
 | |
| .RB " [ " list " | " add " | " del " | " flush " ]"
 | |
| .I  SELECTOR ACTION
 | |
| 
 | |
| .ti -8
 | |
| .IR SELECTOR " := [ "
 | |
| .B  from
 | |
| .IR PREFIX " ] [ "
 | |
| .B  to
 | |
| .IR PREFIX " ] [ "
 | |
| .B  tos
 | |
| .IR TOS " ] [ "
 | |
| .B  fwmark
 | |
| .IR FWMARK[/MASK] " ] [ "
 | |
| .B  iif
 | |
| .IR STRING " ] [ "
 | |
| .B  oif
 | |
| .IR STRING " ] [ "
 | |
| .B  pref
 | |
| .IR NUMBER " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR ACTION " := [ "
 | |
| .B  table
 | |
| .IR TABLE_ID " ] [ "
 | |
| .B  nat
 | |
| .IR ADDRESS " ] [ "
 | |
| .BR prohibit " | " reject " | " unreachable " ] [ " realms
 | |
| .RI "[" SRCREALM "/]" DSTREALM " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR TABLE_ID " := [ "
 | |
| .BR local " | " main " | " default " |"
 | |
| .IR NUMBER " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip neigh" " { " add " | " del " | " change " | " replace " } { "
 | |
| .IR ADDR " [ "
 | |
| .B  lladdr
 | |
| .IR LLADDR " ] [ "
 | |
| .BR nud " { " permanent " | " noarp " | " stale " | " reachable " } ] | " proxy
 | |
| .IR ADDR " } [ "
 | |
| .B  dev
 | |
| .IR DEV " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip neigh" " { " show " | " flush " } [ " to
 | |
| .IR PREFIX " ] [ "
 | |
| .B  dev
 | |
| .IR DEV " ] [ "
 | |
| .B  nud
 | |
| .IR STATE " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip tunnel" " { " add " | " change " | " del " | " show " | " prl " }"
 | |
| .RI "[ " NAME " ]"
 | |
| .br
 | |
| .RB "[ " mode
 | |
| .IR MODE " ] [ "
 | |
| .B remote
 | |
| .IR ADDR " ] [ "
 | |
| .B  local
 | |
| .IR ADDR " ]"
 | |
| .br
 | |
| .RB "[ [" i "|" o "]" seq " ] [ [" i "|" o "]" key
 | |
| .IR KEY " ] [ "
 | |
| .RB "[" i "|" o "]" csum " ] ]"
 | |
| .br
 | |
| .RB "[ " encaplimit
 | |
| .IR ELIM " ]"
 | |
| .RB "[ " ttl
 | |
| .IR TTL " ]"
 | |
| .br
 | |
| .RB "[ " tos
 | |
| .IR TOS " ] [ "
 | |
| .B flowlabel
 | |
| .IR FLOWLABEL " ]"
 | |
| .br
 | |
| .RB "[ " prl-default
 | |
| .IR ADDR " ] [ "
 | |
| .B prl-nodefault
 | |
| .IR ADDR " ] [ "
 | |
| .B prl-delete
 | |
| .IR ADDR " ]"
 | |
| .br
 | |
| .RB "[ [" no "]" pmtudisc " ]"
 | |
| .RB "[ " dev
 | |
| .IR PHYS_DEV " ]"
 | |
| .RB "[ " "dscp inherit" " ]"
 | |
| 
 | |
| .ti -8
 | |
| .IR MODE " := "
 | |
| .RB " { " ipip " | " gre " | " sit " | " isatap " | " ip6ip6 " | " ipip6 " | " any " }"
 | |
| 
 | |
| .ti -8
 | |
| .IR ADDR " := { " IP_ADDRESS " |"
 | |
| .BR any " }"
 | |
| 
 | |
| .ti -8
 | |
| .IR TOS " := { " NUMBER " |"
 | |
| .BR inherit " }"
 | |
| 
 | |
| .ti -8
 | |
| .IR ELIM " := {
 | |
| .BR none " | "
 | |
| .IR 0 ".." 255 " }"
 | |
| 
 | |
| .ti -8
 | |
| .ti -8
 | |
| .IR TTL " := { " 1 ".." 255 " | "
 | |
| .BR inherit " }"
 | |
| 
 | |
| .ti -8
 | |
| .IR KEY " := { " DOTTED_QUAD " | " NUMBER " }"
 | |
| 
 | |
| .ti -8
 | |
| .IR TIME " := " NUMBER "[s|ms]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip maddr" " [ " add " | " del " ]"
 | |
| .IB MULTIADDR " dev " STRING
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip maddr show" " [ " dev
 | |
| .IR STRING " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip mroute show" " ["
 | |
| .IR PREFIX " ] [ "
 | |
| .B  from
 | |
| .IR PREFIX " ] [ "
 | |
| .B  iif
 | |
| .IR DEVICE " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip monitor" " [ " all " |"
 | |
| .IR LISTofOBJECTS " ]"
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm"
 | |
| .IR XFRM_OBJECT " { " COMMAND " }"
 | |
| 
 | |
| .ti -8
 | |
| .IR XFRM_OBJECT " := { " state " | " policy " | " monitor " } "
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm state " { " add " | " update " } "
 | |
| .IR ID " [ "
 | |
| .IR XFRM_OPT " ] "
 | |
| .RB " [ " mode
 | |
| .IR MODE " ] "
 | |
| .br
 | |
| .RB " [ " reqid
 | |
| .IR REQID " ] "
 | |
| .RB " [ " seq
 | |
| .IR SEQ " ] "
 | |
| .RB " [ " replay-window
 | |
| .IR SIZE " ] "
 | |
| .br
 | |
| .RB " [ " flag
 | |
| .IR FLAG-LIST " ] "
 | |
| .RB " [ " encap
 | |
| .IR ENCAP " ] "
 | |
| .RB " [ " sel
 | |
| .IR SELECTOR " ] "
 | |
| .br
 | |
| .RB " [ "
 | |
| .IR LIMIT-LIST " ] "
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm state allocspi "
 | |
| .IR ID
 | |
| .RB " [ " mode
 | |
| .IR MODE " ] "
 | |
| .RB " [ " reqid
 | |
| .IR REQID " ] "
 | |
| .RB " [ " seq
 | |
| .IR SEQ " ] "
 | |
| .RB " [ " min
 | |
| .IR SPI
 | |
| .B max
 | |
| .IR SPI " ] "
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm state" " { " delete " | " get " } "
 | |
| .IR ID
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm state" " { " deleteall " | " list " } [ "
 | |
| .IR ID " ] "
 | |
| .RB " [ " mode
 | |
| .IR MODE " ] "
 | |
| .br
 | |
| .RB " [ " reqid
 | |
| .IR REQID " ] "
 | |
| .RB " [ " flag
 | |
| .IR FLAG_LIST " ] "
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm state flush" " [ " proto
 | |
| .IR XFRM_PROTO " ] "
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm state count"
 | |
| 
 | |
| .ti -8
 | |
| .IR ID " := "
 | |
| .RB " [ " src
 | |
| .IR ADDR " ] "
 | |
| .RB " [ " dst
 | |
| .IR ADDR " ] "
 | |
| .RB " [ " proto
 | |
| .IR XFRM_PROTO " ] "
 | |
| .RB " [ " spi
 | |
| .IR SPI " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR XFRM_PROTO " := "
 | |
| .RB " [ " esp " | " ah " | " comp " | " route2 " | " hao " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR MODE " := "
 | |
| .RB " [ " transport " | " tunnel " | " ro " | " beet " ] "
 | |
| .B (default=transport)
 | |
| 
 | |
| .ti -8
 | |
| .IR FLAG-LIST " := "
 | |
| .RI " [ " FLAG-LIST " ] " FLAG
 | |
| 
 | |
| .ti -8
 | |
| .IR FLAG " := "
 | |
| .RB " [ " noecn " | " decap-dscp " | " wildrecv " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR ENCAP " := " ENCAP-TYPE " " SPORT " " DPORT " " OADDR
 | |
| 
 | |
| .ti -8
 | |
| .IR ENCAP-TYPE " := "
 | |
| .B espinudp
 | |
| .RB " | "
 | |
| .B espinudp-nonike
 | |
| 
 | |
| .ti -8
 | |
| .IR ALGO-LIST " := [ "
 | |
| .IR ALGO-LIST " ] | [ "
 | |
| .IR ALGO " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR ALGO " := "
 | |
| .IR ALGO_TYPE
 | |
| .IR ALGO_NAME
 | |
| .IR ALGO_KEY
 | |
| 
 | |
| .ti -8
 | |
| .IR ALGO_TYPE " := "
 | |
| .RB " [ " enc " | " auth " | " comp " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR SELECTOR " := "
 | |
| .B src
 | |
| .IR ADDR "[/" PLEN "]"
 | |
| .B dst
 | |
| .IR ADDR "[/" PLEN "]"
 | |
| .RI " [ " UPSPEC " ] "
 | |
| .RB " [ " dev
 | |
| .IR DEV " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR UPSPEC " := "
 | |
| .B proto
 | |
| .IR PROTO " [[ "
 | |
| .B sport
 | |
| .IR PORT " ] "
 | |
| .RB " [ " dport
 | |
| .IR PORT " ] | "
 | |
| .br
 | |
| .RB " [ " type
 | |
| .IR NUMBER " ] "
 | |
| .RB " [ " code
 | |
| .IR NUMBER " ] | "
 | |
| .br
 | |
| .RB " [ " key
 | |
| .IR KEY " ]] "
 | |
| 
 | |
| .ti -8
 | |
| .IR LIMIT-LIST " := [ " LIMIT-LIST " ] |"
 | |
| .RB " [ "limit
 | |
| .IR LIMIT " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR LIMIT " := "
 | |
| .RB " [ [" time-soft "|" time-hard "|" time-use-soft "|" time-use-hard "]"
 | |
| .IR SECONDS " ] | "
 | |
| .RB "[ ["byte-soft "|" byte-hard "]"
 | |
| .IR SIZE " ] | "
 | |
| .br
 | |
| .RB " [ ["packet-soft "|" packet-hard "]"
 | |
| .IR COUNT " ] "
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm policy" " { " add " | " update " } " " dir "
 | |
| .IR DIR
 | |
| .IR SELECTOR " [ "
 | |
| .BR index
 | |
| .IR INDEX " ] "
 | |
| .br
 | |
| .RB " [ " ptype
 | |
| .IR PTYPE " ] "
 | |
| .RB " [ " action
 | |
| .IR ACTION " ] "
 | |
| .RB " [ " priority
 | |
| .IR PRIORITY " ] "
 | |
| .br
 | |
| .RI " [ " LIMIT-LIST " ] [ "
 | |
| .IR TMPL-LIST " ] "
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm policy" " { " delete " | " get " } " " dir "
 | |
| .IR DIR " [ " SELECTOR " | "
 | |
| .BR index
 | |
| .IR INDEX
 | |
| .RB " ] "
 | |
| .br
 | |
| .RB " [ " ptype
 | |
| .IR PTYPE " ] "
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm policy" " { " deleteall " | " list " } "
 | |
| .RB " [ " dir
 | |
| .IR DIR " ] [ "
 | |
| .IR SELECTOR " ] "
 | |
| .br
 | |
| .RB " [ " index
 | |
| .IR INDEX " ] "
 | |
| .RB " [ " action
 | |
| .IR ACTION " ] "
 | |
| .RB " [ " priority
 | |
| .IR PRIORITY " ] "
 | |
| 
 | |
| .ti -8
 | |
| .B "ip xfrm policy flush"
 | |
| .RB " [ " ptype
 | |
| .IR PTYPE " ] "
 | |
| 
 | |
| .ti -8
 | |
| .B "ip xfrm count"
 | |
| 
 | |
| .ti -8
 | |
| .IR PTYPE " := "
 | |
| .RB " [ " main " | " sub " ] "
 | |
| .B (default=main)
 | |
| 
 | |
| .ti -8
 | |
| .IR DIR " := "
 | |
| .RB " [ " in " | " out " | " fwd " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR SELECTOR " := "
 | |
| .B src
 | |
| .IR ADDR "[/" PLEN "]"
 | |
| .B dst
 | |
| .IR ADDR "[/" PLEN] " [ " UPSPEC
 | |
| .RB " ] [ " dev
 | |
| .IR DEV " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR UPSPEC " := "
 | |
| .B proto
 | |
| .IR PROTO " [ "
 | |
| .RB " [ " sport
 | |
| .IR PORT " ] "
 | |
| .RB " [ " dport
 | |
| .IR PORT " ] | "
 | |
| .br
 | |
| .RB " [ " type
 | |
| .IR NUMBER " ] "
 | |
| .RB " [ " code
 | |
| .IR NUMBER " ] | "
 | |
| .br
 | |
| .RB " [ " key
 | |
| .IR KEY " ] ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR ACTION " := "
 | |
| .RB " [ " allow " | " block " ]"
 | |
| .B (default=allow)
 | |
| 
 | |
| .ti -8
 | |
| .IR LIMIT-LIST " := "
 | |
| .RB " [ "
 | |
| .IR LIMIT-LIST " ] | "
 | |
| .RB " [ " limit
 | |
| .IR LIMIT " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR LIMIT " := "
 | |
| .RB " [ [" time-soft "|" time-hard "|" time-use-soft "|" time-use-hard "]"
 | |
| .IR SECONDS " ] | "
 | |
| .RB " [ [" byte-soft "|" byte-hard "]"
 | |
| .IR SIZE " ] | "
 | |
| .br [ "
 | |
| .RB "[" packet-soft "|" packet-hard "]"
 | |
| .IR NUMBER " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR TMPL-LIST " := "
 | |
| .B " [ "
 | |
| .IR TMPL-LIST " ] | "
 | |
| .RB " [ " tmpl
 | |
| .IR TMPL " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR TMPL " := "
 | |
| .IR ID " [ "
 | |
| .B mode
 | |
| .IR MODE " ] "
 | |
| .RB " [ " reqid
 | |
| .IR REQID " ] "
 | |
| .RB " [ " level
 | |
| .IR LEVEL " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR ID " := "
 | |
| .RB " [ " src
 | |
| .IR ADDR " ] "
 | |
| .RB " [ " dst
 | |
| .IR ADDR " ] "
 | |
| .RB " [ " proto
 | |
| .IR XFRM_PROTO " ] "
 | |
| .RB " [ " spi
 | |
| .IR SPI " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR XFRM_PROTO " := "
 | |
| .RB " [ " esp " | " ah " | " comp " | " route2 " | " hao " ] "
 | |
| 
 | |
| .ti -8
 | |
| .IR MODE " := "
 | |
| .RB " [ " transport " | " tunnel " | " beet " ] "
 | |
| .B (default=transport)
 | |
| 
 | |
| .ti -8
 | |
| .IR LEVEL " := "
 | |
| .RB " [ " required " | " use " ] "
 | |
| .B (default=required)
 | |
| 
 | |
| .ti -8
 | |
| .BR "ip xfrm monitor" " [ " all " | "
 | |
| .IR LISTofOBJECTS " ] "
 | |
| 
 | |
| .in -8
 | |
| .ad b
 | |
| 
 | |
| .SH OPTIONS
 | |
| 
 | |
| .TP
 | |
| .BR "\-V" , " -Version"
 | |
| print the version of the
 | |
| .B ip
 | |
| utility and exit.
 | |
| 
 | |
| .TP
 | |
| .BR "\-s" , " \-stats", " \-statistics"
 | |
| output more information.  If the option
 | |
| appears twice or more, the amount of information increases.
 | |
| As a rule, the information is statistics or some time values.
 | |
| 
 | |
| .TP
 | |
| .BR "\-l" , " \-loops"
 | |
| Specify maximum number of loops the 'ip addr flush' logic
 | |
| will attempt before giving up.  The default is 10.
 | |
| Zero (0) means loop until all addresses are removed.
 | |
| 
 | |
| .TP
 | |
| .BR "\-f" , " \-family"
 | |
| followed by protocol family identifier:
 | |
| .BR "inet" , " inet6"
 | |
| or
 | |
| .B link
 | |
| ,enforce the protocol family to use.  If the option is not present,
 | |
| the protocol family is guessed from other arguments.  If the rest
 | |
| of the command line does not give enough information to guess the
 | |
| family,
 | |
| .B ip
 | |
| falls back to the default one, usually
 | |
| .B inet
 | |
| or
 | |
| .BR "any" .
 | |
| .B link
 | |
| is a special family identifier meaning that no networking protocol
 | |
| is involved.
 | |
| 
 | |
| .TP
 | |
| .B \-4
 | |
| shortcut for
 | |
| .BR "-family inet" .
 | |
| 
 | |
| .TP
 | |
| .B \-6
 | |
| shortcut for
 | |
| .BR "\-family inet6" .
 | |
| 
 | |
| .TP
 | |
| .B \-0
 | |
| shortcut for
 | |
| .BR "\-family link" .
 | |
| 
 | |
| .TP
 | |
| .BR "\-o" , " \-oneline"
 | |
| output each record on a single line, replacing line feeds
 | |
| with the
 | |
| .B '\e\'
 | |
| character. This is convenient when you want to count records
 | |
| with
 | |
| .BR wc (1)
 | |
|  or to
 | |
| .BR grep (1)
 | |
| the output.
 | |
| 
 | |
| .TP
 | |
| .BR "\-r" , " \-resolve"
 | |
| use the system's name resolver to print DNS names instead of
 | |
| host addresses.
 | |
| 
 | |
| .SH IP - COMMAND SYNTAX
 | |
| 
 | |
| .SS
 | |
| .I OBJECT
 | |
| 
 | |
| .TP
 | |
| .B link
 | |
| - network device.
 | |
| 
 | |
| .TP
 | |
| .B address
 | |
| - protocol (IP or IPv6) address on a device.
 | |
| 
 | |
| .TP
 | |
| .B addrlabel
 | |
| - label configuration for protocol address selection.
 | |
| 
 | |
| .TP
 | |
| .B neighbour
 | |
| - ARP or NDISC cache entry.
 | |
| 
 | |
| .TP
 | |
| .B route
 | |
| - routing table entry.
 | |
| 
 | |
| .TP
 | |
| .B rule
 | |
| - rule in routing policy database.
 | |
| 
 | |
| .TP
 | |
| .B maddress
 | |
| - multicast address.
 | |
| 
 | |
| .TP
 | |
| .B mroute
 | |
| - multicast routing cache entry.
 | |
| 
 | |
| .TP
 | |
| .B tunnel
 | |
| - tunnel over IP.
 | |
| 
 | |
| .TP
 | |
| .B xfrm
 | |
| - framework for IPsec protocol.
 | |
| 
 | |
| .PP
 | |
| The names of all objects may be written in full or
 | |
| abbreviated form, f.e.
 | |
| .B address
 | |
| is abbreviated as
 | |
| .B addr
 | |
| or just
 | |
| .B a.
 | |
| 
 | |
| .SS
 | |
| .I COMMAND
 | |
| 
 | |
| Specifies the action to perform on the object.
 | |
| The set of possible actions depends on the object type.
 | |
| As a rule, it is possible to
 | |
| .BR "add" , " delete"
 | |
| and
 | |
| .B show
 | |
| (or
 | |
| .B list
 | |
| ) objects, but some objects do not allow all of these operations
 | |
| or have some additional commands.  The
 | |
| .B help
 | |
| command is available for all objects.  It prints
 | |
| out a list of available commands and argument syntax conventions.
 | |
| .sp
 | |
| If no command is given, some default command is assumed.
 | |
| Usually it is
 | |
| .B list
 | |
| or, if the objects of this class cannot be listed,
 | |
| .BR "help" .
 | |
| 
 | |
| .SH ip link - network device configuration
 | |
| 
 | |
| .B link
 | |
| is a network device and the corresponding commands
 | |
| display and change the state of devices.
 | |
| 
 | |
| .SS ip link add - add virtual link
 | |
| 
 | |
| .TP
 | |
| .BI link " DEVICE "
 | |
| specifies the physical device to act operate on.
 | |
| 
 | |
| .I NAME
 | |
| specifies the name of the new virtual device.
 | |
| 
 | |
| .I TYPE
 | |
| specifies the type of the new device.
 | |
| .sp
 | |
| Link types:
 | |
| 
 | |
| .in +8
 | |
| .B vlan
 | |
| - 802.1q tagged virrtual LAN interface
 | |
| .sp
 | |
| .B macvlan
 | |
| - virtual interface base on link layer address (MAC)
 | |
| .sp
 | |
| .B can
 | |
| - Controller Area Network interface
 | |
| .in -8
 | |
| 
 | |
| .SS ip link delete - delete virtual link
 | |
| .I DEVICE
 | |
| specifies the virtual  device to act operate on.
 | |
| .I TYPE
 | |
| specifies the type of the device.
 | |
| 
 | |
| 
 | |
| .TP
 | |
| .BI dev " DEVICE "
 | |
| specifies the physical device to act operate on.
 | |
| 
 | |
| .SS ip link set - change device attributes
 | |
| 
 | |
| .TP
 | |
| .BI dev " DEVICE "
 | |
| .I DEVICE
 | |
| specifies network device to operate on. When configuring SR-IOV Virtual Fuction
 | |
| (VF) devices, this keyword should specify the associated Physical Function (PF)
 | |
| device.
 | |
| 
 | |
| .TP
 | |
| .BR up " and " down
 | |
| change the state of the device to
 | |
| .B UP
 | |
| or
 | |
| .BR "DOWN" .
 | |
| 
 | |
| .TP
 | |
| .BR "arp on " or " arp off"
 | |
| change the
 | |
| .B NOARP
 | |
| flag on the device.
 | |
| 
 | |
| .TP
 | |
| .BR "multicast on " or " multicast off"
 | |
| change the
 | |
| .B MULTICAST
 | |
| flag on the device.
 | |
| 
 | |
| .TP
 | |
| .BR "dynamic on " or " dynamic off"
 | |
| change the
 | |
| .B DYNAMIC
 | |
| flag on the device.
 | |
| 
 | |
| .TP
 | |
| .BI name " NAME"
 | |
| change the name of the device.  This operation is not
 | |
| recommended if the device is running or has some addresses
 | |
| already configured.
 | |
| 
 | |
| .TP
 | |
| .BI txqueuelen " NUMBER"
 | |
| .TP
 | |
| .BI txqlen " NUMBER"
 | |
| change the transmit queue length of the device.
 | |
| 
 | |
| .TP
 | |
| .BI mtu " NUMBER"
 | |
| change the
 | |
| .I MTU
 | |
| of the device.
 | |
| 
 | |
| .TP
 | |
| .BI address " LLADDRESS"
 | |
| change the station address of the interface.
 | |
| 
 | |
| .TP
 | |
| .BI broadcast " LLADDRESS"
 | |
| .TP
 | |
| .BI brd " LLADDRESS"
 | |
| .TP
 | |
| .BI peer " LLADDRESS"
 | |
| change the link layer broadcast address or the peer address when
 | |
| the interface is
 | |
| .IR "POINTOPOINT" .
 | |
| 
 | |
| .TP
 | |
| .BI netns " PID"
 | |
| move the device to the network namespace associated with the process
 | |
| .IR "PID".
 | |
| 
 | |
| .TP
 | |
| .BI alias " NAME"
 | |
| give the device a symbolic name for easy reference.
 | |
| 
 | |
| .TP
 | |
| .BI vf " NUM"
 | |
| specify a Virtual Function device to be configured. The associated PF device
 | |
| must be specified using the
 | |
| .B dev
 | |
| parameter.
 | |
| 
 | |
| .in +8
 | |
| .BI mac " LLADDRESS"
 | |
| - change the station address for the specified VF. The
 | |
| .B vf
 | |
| parameter must be specified.
 | |
| 
 | |
| .sp
 | |
| .BI vlan " VLANID"
 | |
| - change the assigned VLAN for the specified VF. When specified, all traffic
 | |
| sent from the VF will be tagged with the specified VLAN ID. Incoming traffic
 | |
| will be filtered for the specified VLAN ID, and will have all VLAN tags
 | |
| stripped before being passed to the VF. Setting this parameter to 0 disables
 | |
| VLAN tagging and filtering. The
 | |
| .B vf
 | |
| parameter must be specified.
 | |
| 
 | |
| .sp
 | |
| .BI qos " VLAN-QOS"
 | |
| - assign VLAN QOS (priority) bits for the VLAN tag. When specified, all VLAN
 | |
| tags transmitted by the VF will include the specified priority bits in the
 | |
| VLAN tag. If not specified, the value is assumed to be 0. Both the
 | |
| .B vf
 | |
| and
 | |
| .B vlan
 | |
| parameters must be specified. Setting both
 | |
| .B vlan
 | |
| and
 | |
| .B qos
 | |
| as 0 disables VLAN tagging and filtering for the VF.
 | |
| 
 | |
| .sp
 | |
| .BI rate " TXRATE"
 | |
| - change the allowed transmit bandwidth, in Mbps, for the specified VF.
 | |
| Setting this parameter to 0 disables rate limiting. The
 | |
| .B vf
 | |
| parameter must be specified.
 | |
| .in -8
 | |
| 
 | |
| .PP
 | |
| .B Warning:
 | |
| If multiple parameter changes are requested,
 | |
| .B ip
 | |
| aborts immediately after any of the changes have failed.
 | |
| This is the only case when
 | |
| .B ip
 | |
| can move the system to an unpredictable state.  The solution
 | |
| is to avoid changing several parameters with one
 | |
| .B ip link set
 | |
| call.
 | |
| 
 | |
| .SS  ip link show - display device attributes
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME " (default)
 | |
| .I NAME
 | |
| specifies the network device to show.
 | |
| If this argument is omitted all devices are listed.
 | |
| 
 | |
| .TP
 | |
| .B up
 | |
| only display running interfaces.
 | |
| 
 | |
| .SH ip address - protocol address management.
 | |
| 
 | |
| The
 | |
| .B address
 | |
| is a protocol (IP or IPv6) address attached
 | |
| to a network device.  Each device must have at least one address
 | |
| to use the corresponding protocol.  It is possible to have several
 | |
| different addresses attached to one device.  These addresses are not
 | |
| discriminated, so that the term
 | |
| .B alias
 | |
| is not quite appropriate for them and we do not use it in this document.
 | |
| .sp
 | |
| The
 | |
| .B ip addr
 | |
| command displays addresses and their properties, adds new addresses
 | |
| and deletes old ones.
 | |
| 
 | |
| .SS ip address add - add new protocol address.
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME"
 | |
| the name of the device to add the address to.
 | |
| 
 | |
| .TP
 | |
| .BI local " ADDRESS " (default)
 | |
| the address of the interface. The format of the address depends
 | |
| on the protocol. It is a dotted quad for IP and a sequence of
 | |
| hexadecimal halfwords separated by colons for IPv6.  The
 | |
| .I ADDRESS
 | |
| may be followed by a slash and a decimal number which encodes
 | |
| the network prefix length.
 | |
| 
 | |
| .TP
 | |
| .BI peer " ADDRESS"
 | |
| the address of the remote endpoint for pointopoint interfaces.
 | |
| Again, the
 | |
| .I ADDRESS
 | |
| may be followed by a slash and a decimal number, encoding the network
 | |
| prefix length.  If a peer address is specified, the local address
 | |
| cannot have a prefix length.  The network prefix is associated
 | |
| with the peer rather than with the local address.
 | |
| 
 | |
| .TP
 | |
| .BI broadcast " ADDRESS"
 | |
| the broadcast address on the interface.
 | |
| .sp
 | |
| It is possible to use the special symbols
 | |
| .B '+'
 | |
| and
 | |
| .B '-'
 | |
| instead of the broadcast address.  In this case, the broadcast address
 | |
| is derived by setting/resetting the host bits of the interface prefix.
 | |
| 
 | |
| .TP
 | |
| .BI label " NAME"
 | |
| Each address may be tagged with a label string.
 | |
| In order to preserve compatibility with Linux-2.0 net aliases,
 | |
| this string must coincide with the name of the device or must be prefixed
 | |
| with the device name followed by colon.
 | |
| 
 | |
| .TP
 | |
| .BI scope " SCOPE_VALUE"
 | |
| the scope of the area where this address is valid.
 | |
| The available scopes are listed in file
 | |
| .BR "/etc/iproute2/rt_scopes" .
 | |
| Predefined scope values are:
 | |
| 
 | |
| .in +8
 | |
| .B global
 | |
| - the address is globally valid.
 | |
| .sp
 | |
| .B site
 | |
| - (IPv6 only) the address is site local, i.e. it is
 | |
| valid inside this site.
 | |
| .sp
 | |
| .B link
 | |
| - the address is link local, i.e. it is valid only on this device.
 | |
| .sp
 | |
| .B host
 | |
| - the address is valid only inside this host.
 | |
| .in -8
 | |
| 
 | |
| .SS ip address delete - delete protocol address
 | |
| .B Arguments:
 | |
| coincide with the arguments of
 | |
| .B ip addr add.
 | |
| The device name is a required argument.  The rest are optional.
 | |
| If no arguments are given, the first address is deleted.
 | |
| 
 | |
| .SS ip address show - look at protocol addresses
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME " (default)
 | |
| name of device.
 | |
| 
 | |
| .TP
 | |
| .BI scope " SCOPE_VAL"
 | |
| only list addresses with this scope.
 | |
| 
 | |
| .TP
 | |
| .BI to " PREFIX"
 | |
| only list addresses matching this prefix.
 | |
| 
 | |
| .TP
 | |
| .BI label " PATTERN"
 | |
| only list addresses with labels matching the
 | |
| .IR "PATTERN" .
 | |
| .I PATTERN
 | |
| is a usual shell style pattern.
 | |
| 
 | |
| .TP
 | |
| .BR dynamic " and " permanent
 | |
| (IPv6 only) only list addresses installed due to stateless
 | |
| address configuration or only list permanent (not dynamic)
 | |
| addresses.
 | |
| 
 | |
| .TP
 | |
| .B tentative
 | |
| (IPv6 only) only list addresses which have not yet passed duplicate
 | |
| address detection.
 | |
| 
 | |
| .TP
 | |
| .B deprecated
 | |
| (IPv6 only) only list deprecated addresses.
 | |
| 
 | |
| .TP
 | |
| .B dadfailed
 | |
| (IPv6 only) only list addresses which have failed duplicate
 | |
| address detection.
 | |
| 
 | |
| .TP
 | |
| .B temporary
 | |
| (IPv6 only) only list temporary addresses.
 | |
| 
 | |
| .TP
 | |
| .BR primary " and " secondary
 | |
| only list primary (or secondary) addresses.
 | |
| 
 | |
| .SS ip address flush - flush protocol addresses
 | |
| This command flushes the protocol addresses selected by some criteria.
 | |
| 
 | |
| .PP
 | |
| This command has the same arguments as
 | |
| .B show.
 | |
| The difference is that it does not run when no arguments are given.
 | |
| 
 | |
| .PP
 | |
| .B Warning:
 | |
| This command (and other
 | |
| .B flush
 | |
| commands described below) is pretty dangerous.  If you make a mistake,
 | |
| it will not forgive it, but will cruelly purge all the addresses.
 | |
| 
 | |
| .PP
 | |
| With the
 | |
| .B -statistics
 | |
| option, the command becomes verbose. It prints out the number of deleted
 | |
| addresses and the number of rounds made to flush the address list.  If
 | |
| this option is given twice,
 | |
| .B ip addr flush
 | |
| also dumps all the deleted addresses in the format described in the
 | |
| previous subsection.
 | |
| 
 | |
| .SH ip addrlabel - protocol address label management.
 | |
| 
 | |
| IPv6 address label is used for address selection
 | |
| described in RFC 3484.  Precedence is managed by userspace,
 | |
| and only label is stored in kernel.
 | |
| 
 | |
| .SS ip addrlabel add - add an address label
 | |
| the command adds an address label entry to the kernel.
 | |
| .TP
 | |
| .BI prefix " PREFIX"
 | |
| .TP
 | |
| .BI dev " DEV"
 | |
| the outgoing interface.
 | |
| .TP
 | |
| .BI label " NUMBER"
 | |
| the label for the prefix.
 | |
| 0xffffffff is reserved.
 | |
| .SS ip addrlabel del - delete an address label
 | |
| the command deletes an address label entry in the kernel.
 | |
| .B Arguments:
 | |
| coincide with the arguments of
 | |
| .B ip addrlabel add
 | |
| but label is not required.
 | |
| .SS ip addrlabel list - list address labels
 | |
| the command show contents of address labels.
 | |
| .SS ip addrlabel flush - flush address labels
 | |
| the command flushes the contents of address labels and it does not restore default settings.
 | |
| .SH ip neighbour - neighbour/arp tables management.
 | |
| 
 | |
| .B neighbour
 | |
| objects establish bindings between protocol addresses and
 | |
| link layer addresses for hosts sharing the same link.
 | |
| Neighbour entries are organized into tables. The IPv4 neighbour table
 | |
| is known by another name - the ARP table.
 | |
| 
 | |
| .P
 | |
| The corresponding commands display neighbour bindings
 | |
| and their properties, add new neighbour entries and delete old ones.
 | |
| 
 | |
| .SS ip neighbour add - add a new neighbour entry
 | |
| .SS ip neighbour change - change an existing entry
 | |
| .SS ip neighbour replace - add a new entry or change an existing one
 | |
| 
 | |
| These commands create new neighbour records or update existing ones.
 | |
| 
 | |
| .TP
 | |
| .BI to " ADDRESS " (default)
 | |
| the protocol address of the neighbour. It is either an IPv4 or IPv6 address.
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME"
 | |
| the interface to which this neighbour is attached.
 | |
| 
 | |
| .TP
 | |
| .BI lladdr " LLADDRESS"
 | |
| the link layer address of the neighbour.
 | |
| .I LLADDRESS
 | |
| can also be
 | |
| .BR "null" .
 | |
| 
 | |
| .TP
 | |
| .BI nud " NUD_STATE"
 | |
| the state of the neighbour entry.
 | |
| .B nud
 | |
| is an abbreviation for 'Neighbour Unreachability Detection'.
 | |
| The state can take one of the following values:
 | |
| 
 | |
| .in +8
 | |
| .B permanent
 | |
| - the neighbour entry is valid forever and can be only
 | |
| be removed administratively.
 | |
| .sp
 | |
| 
 | |
| .B noarp
 | |
| - the neighbour entry is valid. No attempts to validate
 | |
| this entry will be made but it can be removed when its lifetime expires.
 | |
| .sp
 | |
| 
 | |
| .B reachable
 | |
| - the neighbour entry is valid until the reachability
 | |
| timeout expires.
 | |
| .sp
 | |
| 
 | |
| .B stale
 | |
| - the neighbour entry is valid but suspicious.
 | |
| This option to
 | |
| .B ip neigh
 | |
| does not change the neighbour state if it was valid and the address
 | |
| is not changed by this command.
 | |
| .in -8
 | |
| 
 | |
| .SS ip neighbour delete - delete a neighbour entry
 | |
| This command invalidates a neighbour entry.
 | |
| 
 | |
| .PP
 | |
| The arguments are the same as with
 | |
| .BR "ip neigh add" ,
 | |
| except that
 | |
| .B lladdr
 | |
| and
 | |
| .B nud
 | |
| are ignored.
 | |
| 
 | |
| .PP
 | |
| .B Warning:
 | |
| Attempts to delete or manually change a
 | |
| .B noarp
 | |
| entry created by the kernel may result in unpredictable behaviour.
 | |
| Particularly, the kernel may try to resolve this address even
 | |
| on a
 | |
| .B NOARP
 | |
| interface or if the address is multicast or broadcast.
 | |
| 
 | |
| .SS ip neighbour show - list neighbour entries
 | |
| 
 | |
| This commands displays neighbour tables.
 | |
| 
 | |
| .TP
 | |
| .BI to " ADDRESS " (default)
 | |
| the prefix selecting the neighbours to list.
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME"
 | |
| only list the neighbours attached to this device.
 | |
| 
 | |
| .TP
 | |
| .B unused
 | |
| only list neighbours which are not currently in use.
 | |
| 
 | |
| .TP
 | |
| .BI nud " NUD_STATE"
 | |
| only list neighbour entries in this state.
 | |
| .I NUD_STATE
 | |
| takes values listed below or the special value
 | |
| .B all
 | |
| which means all states.  This option may occur more than once.
 | |
| If this option is absent,
 | |
| .B ip
 | |
| lists all entries except for
 | |
| .B none
 | |
| and
 | |
| .BR "noarp" .
 | |
| 
 | |
| .SS ip neighbour flush - flush neighbour entries
 | |
| This command flushes neighbour tables, selecting
 | |
| entries to flush by some criteria.
 | |
| 
 | |
| .PP
 | |
| This command has the same arguments as
 | |
| .B show.
 | |
| The differences are that it does not run when no arguments are given,
 | |
| and that the default neighbour states to be flushed do not include
 | |
| .B permanent
 | |
| and
 | |
| .BR "noarp" .
 | |
| 
 | |
| .PP
 | |
| With the
 | |
| .B -statistics
 | |
| option, the command becomes verbose.  It prints out the number of
 | |
| deleted neighbours and the number of rounds made to flush the
 | |
| neighbour table.  If the option is given
 | |
| twice,
 | |
| .B ip neigh flush
 | |
| also dumps all the deleted neighbours.
 | |
| 
 | |
| .SH ip route - routing table management
 | |
| Manipulate route entries in the kernel routing tables keep
 | |
| information about paths to other networked nodes.
 | |
| .sp
 | |
| .B Route types:
 | |
| 
 | |
| .in +8
 | |
| .B unicast
 | |
| - the route entry describes real paths to the destinations covered
 | |
| by the route prefix.
 | |
| 
 | |
| .sp
 | |
| .B unreachable
 | |
| - these destinations are unreachable.  Packets are discarded and the
 | |
| ICMP message
 | |
| .I host unreachable
 | |
| is generated.
 | |
| The local senders get an
 | |
| .I EHOSTUNREACH
 | |
| error.
 | |
| 
 | |
| .sp
 | |
| .B blackhole
 | |
| - these destinations are unreachable.  Packets are discarded silently.
 | |
| The local senders get an
 | |
| .I EINVAL
 | |
| error.
 | |
| 
 | |
| .sp
 | |
| .B prohibit
 | |
| - these destinations are unreachable.  Packets are discarded and the
 | |
| ICMP message
 | |
| .I communication administratively prohibited
 | |
| is generated.  The local senders get an
 | |
| .I EACCES
 | |
| error.
 | |
| 
 | |
| .sp
 | |
| .B local
 | |
| - the destinations are assigned to this host.  The packets are looped
 | |
| back and delivered locally.
 | |
| 
 | |
| .sp
 | |
| .B broadcast
 | |
| - the destinations are broadcast addresses.  The packets are sent as
 | |
| link broadcasts.
 | |
| 
 | |
| .sp
 | |
| .B throw
 | |
| - a special control route used together with policy rules. If such a
 | |
| route is selected, lookup in this table is terminated pretending that
 | |
| no route was found.  Without policy routing it is equivalent to the
 | |
| absence of the route in the routing table.  The packets are dropped
 | |
| and the ICMP message
 | |
| .I net unreachable
 | |
| is generated.  The local senders get an
 | |
| .I ENETUNREACH
 | |
| error.
 | |
| 
 | |
| .sp
 | |
| .B nat
 | |
| - a special NAT route.  Destinations covered by the prefix
 | |
| are considered to be dummy (or external) addresses which require translation
 | |
| to real (or internal) ones before forwarding.  The addresses to translate to
 | |
| are selected with the attribute
 | |
| .B Warning:
 | |
| Route NAT is no longer supported in Linux 2.6.
 | |
| 
 | |
| 
 | |
| .BR "via" .
 | |
| .sp
 | |
| .B anycast
 | |
| .RI "- " "not implemented"
 | |
| the destinations are
 | |
| .I anycast
 | |
| addresses assigned to this host.  They are mainly equivalent
 | |
| to
 | |
| .B local
 | |
| with one difference: such addresses are invalid when used
 | |
| as the source address of any packet.
 | |
| 
 | |
| .sp
 | |
| .B multicast
 | |
| - a special type used for multicast routing.  It is not present in
 | |
| normal routing tables.
 | |
| .in -8
 | |
| 
 | |
| .P
 | |
| .B Route tables:
 | |
| Linux-2.x can pack routes into several routing tables identified 
 | |
| by a number in the range from 1 to 2^31 or by name from the file
 | |
| .B /etc/iproute2/rt_tables
 | |
| By default all normal routes are inserted into the
 | |
| .B main
 | |
| table (ID 254) and the kernel only uses this table when calculating routes.
 | |
| Values (0, 253, 254, and 255) are reserved for built-in use.
 | |
| 
 | |
| .sp
 | |
| Actually, one other table always exists, which is invisible but
 | |
| even more important.  It is the
 | |
| .B local
 | |
| table (ID 255).  This table
 | |
| consists of routes for local and broadcast addresses.  The kernel maintains
 | |
| this table automatically and the administrator usually need not modify it
 | |
| or even look at it.
 | |
| 
 | |
| The multiple routing tables enter the game when
 | |
| .I policy routing
 | |
| is used.
 | |
| 
 | |
| .SS ip route add - add new route
 | |
| .SS ip route change - change route
 | |
| .SS ip route replace - change or add new one
 | |
| 
 | |
| .TP
 | |
| .BI to " TYPE PREFIX " (default)
 | |
| the destination prefix of the route.  If
 | |
| .I TYPE
 | |
| is omitted,
 | |
| .B ip
 | |
| assumes type
 | |
| .BR "unicast" .
 | |
| Other values of
 | |
| .I TYPE
 | |
| are listed above.
 | |
| .I PREFIX
 | |
| is an IP or IPv6 address optionally followed by a slash and the
 | |
| prefix length.  If the length of the prefix is missing,
 | |
| .B ip
 | |
| assumes a full-length host route.  There is also a special
 | |
| .I PREFIX
 | |
| .B default
 | |
| - which is equivalent to IP
 | |
| .B 0/0
 | |
| or to IPv6
 | |
| .BR "::/0" .
 | |
| 
 | |
| .TP
 | |
| .BI tos " TOS"
 | |
| .TP
 | |
| .BI dsfield " TOS"
 | |
| the Type Of Service (TOS) key.  This key has no associated mask and
 | |
| the longest match is understood as: First, compare the TOS
 | |
| of the route and of the packet.  If they are not equal, then the packet
 | |
| may still match a route with a zero TOS.
 | |
| .I TOS
 | |
| is either an 8 bit hexadecimal number or an identifier
 | |
| from
 | |
| .BR "/etc/iproute2/rt_dsfield" .
 | |
| 
 | |
| .TP
 | |
| .BI metric " NUMBER"
 | |
| .TP
 | |
| .BI preference " NUMBER"
 | |
| the preference value of the route.
 | |
| .I NUMBER
 | |
| is an arbitrary 32bit number.
 | |
| 
 | |
| .TP
 | |
| .BI table " TABLEID"
 | |
| the table to add this route to.
 | |
| .I TABLEID
 | |
| may be a number or a string from the file
 | |
| .BR "/etc/iproute2/rt_tables" .
 | |
| If this parameter is omitted,
 | |
| .B ip
 | |
| assumes the
 | |
| .B main
 | |
| table, with the exception of
 | |
| .BR local " , " broadcast " and " nat
 | |
| routes, which are put into the
 | |
| .B local
 | |
| table by default.
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME"
 | |
| the output device name.
 | |
| 
 | |
| .TP
 | |
| .BI via " ADDRESS"
 | |
| the address of the nexthop router.  Actually, the sense of this field
 | |
| depends on the route type.  For normal
 | |
| .B unicast
 | |
| routes it is either the true next hop router or, if it is a direct
 | |
| route installed in BSD compatibility mode, it can be a local address
 | |
| of the interface.  For NAT routes it is the first address of the block
 | |
| of translated IP destinations.
 | |
| 
 | |
| .TP
 | |
| .BI src " ADDRESS"
 | |
| the source address to prefer when sending to the destinations
 | |
| covered by the route prefix.
 | |
| 
 | |
| .TP
 | |
| .BI realm " REALMID"
 | |
| the realm to which this route is assigned.
 | |
| .I REALMID
 | |
| may be a number or a string from the file
 | |
| .BR "/etc/iproute2/rt_realms" .
 | |
| 
 | |
| .TP
 | |
| .BI mtu " MTU"
 | |
| .TP
 | |
| .BI "mtu lock" " MTU"
 | |
| the MTU along the path to the destination.  If the modifier
 | |
| .B lock
 | |
| is not used, the MTU may be updated by the kernel due to
 | |
| Path MTU Discovery.  If the modifier
 | |
| .B lock
 | |
| is used, no path MTU discovery will be tried, all packets
 | |
| will be sent without the DF bit in IPv4 case or fragmented
 | |
| to MTU for IPv6.
 | |
| 
 | |
| .TP
 | |
| .BI window " NUMBER"
 | |
| the maximal window for TCP to advertise to these destinations,
 | |
| measured in bytes.  It limits maximal data bursts that our TCP
 | |
| peers are allowed to send to us.
 | |
| 
 | |
| .TP
 | |
| .BI rtt " TIME"
 | |
| the initial RTT ('Round Trip Time') estimate. If no suffix is
 | |
| specified the units are raw values passed directly to the
 | |
| routing code to maintain compatibility with previous releases.
 | |
| Otherwise if a suffix of s, sec or secs is used to specify
 | |
| seconds and ms, msec or msecs to specify milliseconds.
 | |
| 
 | |
| 
 | |
| .TP
 | |
| .BI rttvar " TIME " "(2.3.15+ only)"
 | |
| the initial RTT variance estimate. Values are specified as with
 | |
| .BI rtt
 | |
| above.
 | |
| 
 | |
| .TP
 | |
| .BI rto_min " TIME " "(2.6.23+ only)"
 | |
| the minimum TCP Retransmission TimeOut to use when communicating with this
 | |
| destination.  Values are specified as with
 | |
| .BI rtt
 | |
| above.
 | |
| 
 | |
| .TP
 | |
| .BI ssthresh " NUMBER " "(2.3.15+ only)"
 | |
| an estimate for the initial slow start threshold.
 | |
| 
 | |
| .TP
 | |
| .BI cwnd " NUMBER " "(2.3.15+ only)"
 | |
| the clamp for congestion window.  It is ignored if the
 | |
| .B lock
 | |
| flag is not used.
 | |
| 
 | |
| .TP
 | |
| .BI initcwnd " NUMBER " "(2.5.70+ only)"
 | |
| the initial congestion window size for connections to this destination.
 | |
| Actual window size is this value multiplied by the MSS
 | |
| (``Maximal Segment Size'') for same connection. The default is
 | |
| zero, meaning to use the values specified in RFC2414.
 | |
| 
 | |
| .TP
 | |
| .BI initrwnd " NUMBER " "(2.6.33+ only)"
 | |
| the initial receive window size for connections to this destination.
 | |
| Actual window size is this value multiplied by the MSS of the connection.
 | |
| The default value is zero, meaning to use Slow Start value.
 | |
| 
 | |
| .TP
 | |
| .BI advmss " NUMBER " "(2.3.15+ only)"
 | |
| the MSS ('Maximal Segment Size') to advertise to these
 | |
| destinations when establishing TCP connections.  If it is not given,
 | |
| Linux uses a default value calculated from the first hop device MTU.
 | |
| (If the path to these destination is asymmetric, this guess may be wrong.)
 | |
| 
 | |
| .TP
 | |
| .BI reordering " NUMBER " "(2.3.15+ only)"
 | |
| Maximal reordering on the path to this destination.
 | |
| If it is not given, Linux uses the value selected with
 | |
| .B sysctl
 | |
| variable
 | |
| .BR "net/ipv4/tcp_reordering" .
 | |
| 
 | |
| .TP
 | |
| .BI nexthop " NEXTHOP"
 | |
| the nexthop of a multipath route.
 | |
| .I NEXTHOP
 | |
| is a complex value with its own syntax similar to the top level
 | |
| argument lists:
 | |
| 
 | |
| .in +8
 | |
| .BI via " ADDRESS"
 | |
| - is the nexthop router.
 | |
| .sp
 | |
| 
 | |
| .BI dev " NAME"
 | |
| - is the output device.
 | |
| .sp
 | |
| 
 | |
| .BI weight " NUMBER"
 | |
| - is a weight for this element of a multipath
 | |
| route reflecting its relative bandwidth or quality.
 | |
| .in -8
 | |
| 
 | |
| .TP
 | |
| .BI scope " SCOPE_VAL"
 | |
| the scope of the destinations covered by the route prefix.
 | |
| .I SCOPE_VAL
 | |
| may be a number or a string from the file
 | |
| .BR "/etc/iproute2/rt_scopes" .
 | |
| If this parameter is omitted,
 | |
| .B ip
 | |
| assumes scope
 | |
| .B global
 | |
| for all gatewayed
 | |
| .B unicast
 | |
| routes, scope
 | |
| .B link
 | |
| for direct
 | |
| .BR unicast " and " broadcast
 | |
| routes and scope
 | |
| .BR host " for " local
 | |
| routes.
 | |
| 
 | |
| .TP
 | |
| .BI protocol " RTPROTO"
 | |
| the routing protocol identifier of this route.
 | |
| .I RTPROTO
 | |
| may be a number or a string from the file
 | |
| .BR "/etc/iproute2/rt_protos" .
 | |
| If the routing protocol ID is not given,
 | |
| .B ip assumes protocol
 | |
| .B boot
 | |
| (i.e. it assumes the route was added by someone who doesn't
 | |
| understand what they are doing).  Several protocol values have
 | |
| a fixed interpretation.
 | |
| Namely:
 | |
| 
 | |
| .in +8
 | |
| .B redirect
 | |
| - the route was installed due to an ICMP redirect.
 | |
| .sp
 | |
| 
 | |
| .B kernel
 | |
| - the route was installed by the kernel during autoconfiguration.
 | |
| .sp
 | |
| 
 | |
| .B boot
 | |
| - the route was installed during the bootup sequence.
 | |
| If a routing daemon starts, it will purge all of them.
 | |
| .sp
 | |
| 
 | |
| .B static
 | |
| - the route was installed by the administrator
 | |
| to override dynamic routing. Routing daemon will respect them
 | |
| and, probably, even advertise them to its peers.
 | |
| .sp
 | |
| 
 | |
| .B ra
 | |
| - the route was installed by Router Discovery protocol.
 | |
| .in -8
 | |
| 
 | |
| .sp
 | |
| The rest of the values are not reserved and the administrator is free
 | |
| to assign (or not to assign) protocol tags.
 | |
| 
 | |
| .TP
 | |
| .B onlink
 | |
| pretend that the nexthop is directly attached to this link,
 | |
| even if it does not match any interface prefix.
 | |
| 
 | |
| .SS ip route delete - delete route
 | |
| 
 | |
| .B ip route del
 | |
| has the same arguments as
 | |
| .BR "ip route add" ,
 | |
| but their semantics are a bit different.
 | |
| 
 | |
| Key values
 | |
| .RB "(" to ", " tos ", " preference " and " table ")"
 | |
| select the route to delete.  If optional attributes are present,
 | |
| .B ip
 | |
| verifies that they coincide with the attributes of the route to delete.
 | |
| If no route with the given key and attributes was found,
 | |
| .B ip route del
 | |
| fails.
 | |
| 
 | |
| .SS ip route show - list routes
 | |
| the command displays the contents of the routing tables or the route(s)
 | |
| selected by some criteria.
 | |
| 
 | |
| .TP
 | |
| .BI to " SELECTOR " (default)
 | |
| only select routes from the given range of destinations.
 | |
| .I SELECTOR
 | |
| consists of an optional modifier
 | |
| .RB "(" root ", " match " or " exact ")"
 | |
| and a prefix.
 | |
| .BI root " PREFIX"
 | |
| selects routes with prefixes not shorter than
 | |
| .IR PREFIX "."
 | |
| F.e.
 | |
| .BI root " 0/0"
 | |
| selects the entire routing table.
 | |
| .BI match " PREFIX"
 | |
| selects routes with prefixes not longer than
 | |
| .IR PREFIX "."
 | |
| F.e.
 | |
| .BI match " 10.0/16"
 | |
| selects
 | |
| .IR 10.0/16 ","
 | |
| .IR 10/8 " and " 0/0 ,
 | |
| but it does not select
 | |
| .IR 10.1/16 " and " 10.0.0/24 .
 | |
| And
 | |
| .BI exact " PREFIX"
 | |
| (or just
 | |
| .IR PREFIX ")"
 | |
| selects routes with this exact prefix. If neither of these options
 | |
| are present,
 | |
| .B ip
 | |
| assumes
 | |
| .BI root " 0/0"
 | |
| i.e. it lists the entire table.
 | |
| 
 | |
| .TP
 | |
| .BI tos " TOS"
 | |
| .BI dsfield " TOS"
 | |
| only select routes with the given TOS.
 | |
| 
 | |
| .TP
 | |
| .BI table " TABLEID"
 | |
| show the routes from this table(s).  The default setting is to show
 | |
| .BR table main "."
 | |
| .I TABLEID
 | |
| may either be the ID of a real table or one of the special values:
 | |
| .sp
 | |
| .in +8
 | |
| .B all
 | |
| - list all of the tables.
 | |
| .sp
 | |
| .B cache
 | |
| - dump the routing cache.
 | |
| .in -8
 | |
| 
 | |
| .TP
 | |
| .B cloned
 | |
| .TP
 | |
| .B cached
 | |
| list cloned routes i.e. routes which were dynamically forked from
 | |
| other routes because some route attribute (f.e. MTU) was updated.
 | |
| Actually, it is equivalent to
 | |
| .BR "table cache" "."
 | |
| 
 | |
| .TP
 | |
| .BI from " SELECTOR"
 | |
| the same syntax as for
 | |
| .BR to ","
 | |
| but it binds the source address range rather than destinations.
 | |
| Note that the
 | |
| .B from
 | |
| option only works with cloned routes.
 | |
| 
 | |
| .TP
 | |
| .BI protocol " RTPROTO"
 | |
| only list routes of this protocol.
 | |
| 
 | |
| .TP
 | |
| .BI scope " SCOPE_VAL"
 | |
| only list routes with this scope.
 | |
| 
 | |
| .TP
 | |
| .BI type " TYPE"
 | |
| only list routes of this type.
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME"
 | |
| only list routes going via this device.
 | |
| 
 | |
| .TP
 | |
| .BI via " PREFIX"
 | |
| only list routes going via the nexthop routers selected by
 | |
| .IR PREFIX "."
 | |
| 
 | |
| .TP
 | |
| .BI src " PREFIX"
 | |
| only list routes with preferred source addresses selected
 | |
| by
 | |
| .IR PREFIX "."
 | |
| 
 | |
| .TP
 | |
| .BI realm " REALMID"
 | |
| .TP
 | |
| .BI realms " FROMREALM/TOREALM"
 | |
| only list routes with these realms.
 | |
| 
 | |
| .SS ip route flush - flush routing tables
 | |
| this command flushes routes selected by some criteria.
 | |
| 
 | |
| .sp
 | |
| The arguments have the same syntax and semantics as the arguments of
 | |
| .BR "ip route show" ,
 | |
| but routing tables are not listed but purged.  The only difference is
 | |
| the default action:
 | |
| .B show
 | |
| dumps all the IP main routing table but
 | |
| .B flush
 | |
| prints the helper page.
 | |
| 
 | |
| .sp
 | |
| With the
 | |
| .B -statistics
 | |
| option, the command becomes verbose. It prints out the number of
 | |
| deleted routes and the number of rounds made to flush the routing
 | |
| table. If the option is given
 | |
| twice,
 | |
| .B ip route flush
 | |
| also dumps all the deleted routes in the format described in the
 | |
| previous subsection.
 | |
| 
 | |
| .SS ip route get - get a single route
 | |
| this command gets a single route to a destination and prints its
 | |
| contents exactly as the kernel sees it.
 | |
| 
 | |
| .TP
 | |
| .BI to " ADDRESS " (default)
 | |
| the destination address.
 | |
| 
 | |
| .TP
 | |
| .BI from " ADDRESS"
 | |
| the source address.
 | |
| 
 | |
| .TP
 | |
| .BI tos " TOS"
 | |
| .TP
 | |
| .BI dsfield " TOS"
 | |
| the Type Of Service.
 | |
| 
 | |
| .TP
 | |
| .BI iif " NAME"
 | |
| the device from which this packet is expected to arrive.
 | |
| 
 | |
| .TP
 | |
| .BI oif " NAME"
 | |
| force the output device on which this packet will be routed.
 | |
| 
 | |
| .TP
 | |
| .B connected
 | |
| if no source address
 | |
| .RB "(option " from ")"
 | |
| was given, relookup the route with the source set to the preferred
 | |
| address received from the first lookup.
 | |
| If policy routing is used, it may be a different route.
 | |
| 
 | |
| .P
 | |
| Note that this operation is not equivalent to
 | |
| .BR "ip route show" .
 | |
| .B show
 | |
| shows existing routes.
 | |
| .B get
 | |
| resolves them and creates new clones if necessary.  Essentially,
 | |
| .B get
 | |
| is equivalent to sending a packet along this path.
 | |
| If the
 | |
| .B iif
 | |
| argument is not given, the kernel creates a route
 | |
| to output packets towards the requested destination.
 | |
| This is equivalent to pinging the destination
 | |
| with a subsequent
 | |
| .BR "ip route ls cache" ,
 | |
| however, no packets are actually sent.  With the
 | |
| .B iif
 | |
| argument, the kernel pretends that a packet arrived from this interface
 | |
| and searches for a path to forward the packet.
 | |
| 
 | |
| .SS ip route save - save routing table information to stdout
 | |
| this command behaves like
 | |
| .BR "ip route show"
 | |
| except that the output is raw data suitable for passing to
 | |
| .BR "ip route restore" .
 | |
| 
 | |
| .SS ip route restore - restore routing table information from stdin
 | |
| this command expects to read a data stream as returned from
 | |
| .BR "ip route save" .
 | |
| It will attempt to restore the routing table information exactly as
 | |
| it was at the time of the save, so any translation of information
 | |
| in the stream (such as device indexes) must be done first.  Any existing
 | |
| routes are left unchanged.  Any routes specified in the data stream that
 | |
| already exist in the table will be ignored.
 | |
| 
 | |
| .SH ip rule - routing policy database management
 | |
| 
 | |
| .BR "Rule" s
 | |
| in the routing policy database control the route selection algorithm.
 | |
| 
 | |
| .P
 | |
| Classic routing algorithms used in the Internet make routing decisions
 | |
| based only on the destination address of packets (and in theory,
 | |
| but not in practice, on the TOS field).
 | |
| 
 | |
| .P
 | |
| In some circumstances we want to route packets differently depending not only
 | |
| on destination addresses, but also on other packet fields: source address,
 | |
| IP protocol, transport protocol ports or even packet payload.
 | |
| This task is called 'policy routing'.
 | |
| 
 | |
| .P
 | |
| To solve this task, the conventional destination based routing table, ordered
 | |
| according to the longest match rule, is replaced with a 'routing policy
 | |
| database' (or RPDB), which selects routes by executing some set of rules.
 | |
| 
 | |
| .P
 | |
| Each policy routing rule consists of a
 | |
| .B selector
 | |
| and an
 | |
| .B action predicate.
 | |
| The RPDB is scanned in the order of increasing priority. The selector
 | |
| of each rule is applied to {source address, destination address, incoming
 | |
| interface, tos, fwmark} and, if the selector matches the packet,
 | |
| the action is performed.  The action predicate may return with success.
 | |
| In this case, it will either give a route or failure indication
 | |
| and the RPDB lookup is terminated. Otherwise, the RPDB program
 | |
| continues on the next rule.
 | |
| 
 | |
| .P
 | |
| Semantically, natural action is to select the nexthop and the output device.
 | |
| 
 | |
| .P
 | |
| At startup time the kernel configures the default RPDB consisting of three
 | |
| rules:
 | |
| 
 | |
| .TP
 | |
| 1.
 | |
| Priority: 0, Selector: match anything, Action: lookup routing
 | |
| table
 | |
| .B local
 | |
| (ID 255).
 | |
| The
 | |
| .B local
 | |
| table is a special routing table containing
 | |
| high priority control routes for local and broadcast addresses.
 | |
| .sp
 | |
| Rule 0 is special. It cannot be deleted or overridden.
 | |
| 
 | |
| .TP
 | |
| 2.
 | |
| Priority: 32766, Selector: match anything, Action: lookup routing
 | |
| table
 | |
| .B main
 | |
| (ID 254).
 | |
| The
 | |
| .B main
 | |
| table is the normal routing table containing all non-policy
 | |
| routes. This rule may be deleted and/or overridden with other
 | |
| ones by the administrator.
 | |
| 
 | |
| .TP
 | |
| 3.
 | |
| Priority: 32767, Selector: match anything, Action: lookup routing
 | |
| table
 | |
| .B default
 | |
| (ID 253).
 | |
| The
 | |
| .B default
 | |
| table is empty.  It is reserved for some post-processing if no previous
 | |
| default rules selected the packet.
 | |
| This rule may also be deleted.
 | |
| 
 | |
| .P
 | |
| Each RPDB entry has additional
 | |
| attributes.  F.e. each rule has a pointer to some routing
 | |
| table.  NAT and masquerading rules have an attribute to select new IP
 | |
| address to translate/masquerade.  Besides that, rules have some
 | |
| optional attributes, which routes have, namely
 | |
| .BR "realms" .
 | |
| These values do not override those contained in the routing tables.  They
 | |
| are only used if the route did not select any attributes.
 | |
| 
 | |
| .sp
 | |
| The RPDB may contain rules of the following types:
 | |
| 
 | |
| .in +8
 | |
| .B unicast
 | |
| - the rule prescribes to return the route found
 | |
| in the routing table referenced by the rule.
 | |
| 
 | |
| .B blackhole
 | |
| - the rule prescribes to silently drop the packet.
 | |
| 
 | |
| .B unreachable
 | |
| - the rule prescribes to generate a 'Network is unreachable' error.
 | |
| 
 | |
| .B prohibit
 | |
| - the rule prescribes to generate 'Communication is administratively
 | |
| prohibited' error.
 | |
| 
 | |
| .B nat
 | |
| - the rule prescribes to translate the source address
 | |
| of the IP packet into some other value.
 | |
| .in -8
 | |
| 
 | |
| .SS ip rule add - insert a new rule
 | |
| .SS ip rule delete - delete a rule
 | |
| 
 | |
| .TP
 | |
| .BI type " TYPE " (default)
 | |
| the type of this rule.  The list of valid types was given in the previous
 | |
| subsection.
 | |
| 
 | |
| .TP
 | |
| .BI from " PREFIX"
 | |
| select the source prefix to match.
 | |
| 
 | |
| .TP
 | |
| .BI to " PREFIX"
 | |
| select the destination prefix to match.
 | |
| 
 | |
| .TP
 | |
| .BI iif " NAME"
 | |
| select the incoming device to match.  If the interface is loopback,
 | |
| the rule only matches packets originating from this host.  This means
 | |
| that you may create separate routing tables for forwarded and local
 | |
| packets and, hence, completely segregate them.
 | |
| 
 | |
| .TP
 | |
| .BI oif " NAME"
 | |
| select the outgoing device to match.  The outgoing interface is only
 | |
| available for packets originating from local sockets that are bound to
 | |
| a device.
 | |
| 
 | |
| .TP
 | |
| .BI tos " TOS"
 | |
| .TP
 | |
| .BI dsfield " TOS"
 | |
| select the TOS value to match.
 | |
| 
 | |
| .TP
 | |
| .BI fwmark " MARK"
 | |
| select the
 | |
| .B fwmark
 | |
| value to match.
 | |
| 
 | |
| .TP
 | |
| .BI priority " PREFERENCE"
 | |
| the priority of this rule.  Each rule should have an explicitly
 | |
| set
 | |
| .I unique
 | |
| priority value.
 | |
| The options preference and order are synonyms with priority.
 | |
| 
 | |
| .TP
 | |
| .BI table " TABLEID"
 | |
| the routing table identifier to lookup if the rule selector matches.
 | |
| It is also possible to use lookup instead of table.
 | |
| 
 | |
| .TP
 | |
| .BI realms " FROM/TO"
 | |
| Realms to select if the rule matched and the routing table lookup
 | |
| succeeded.  Realm
 | |
| .I TO
 | |
| is only used if the route did not select any realm.
 | |
| 
 | |
| .TP
 | |
| .BI nat " ADDRESS"
 | |
| The base of the IP address block to translate (for source addresses).
 | |
| The
 | |
| .I ADDRESS
 | |
| may be either the start of the block of NAT addresses (selected by NAT
 | |
| routes) or a local host address (or even zero).
 | |
| In the last case the router does not translate the packets, but
 | |
| masquerades them to this address.
 | |
| Using map-to instead of nat means the same thing.
 | |
| 
 | |
| .B Warning:
 | |
| Changes to the RPDB made with these commands do not become active
 | |
| immediately.  It is assumed that after a script finishes a batch of
 | |
| updates, it flushes the routing cache with
 | |
| .BR "ip route flush cache" .
 | |
| 
 | |
| .SS ip rule flush - also dumps all the deleted rules.
 | |
| This command has no arguments.
 | |
| 
 | |
| .SS ip rule show - list rules
 | |
| This command has no arguments.
 | |
| The options list or lst are synonyms with show.
 | |
| 
 | |
| .SH ip maddress - multicast addresses management
 | |
| 
 | |
| .B maddress
 | |
| objects are multicast addresses.
 | |
| 
 | |
| .SS ip maddress show - list multicast addresses
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME " (default)
 | |
| the device name.
 | |
| 
 | |
| .SS ip maddress add - add a multicast address
 | |
| .SS ip maddress delete - delete a multicast address
 | |
| these commands attach/detach a static link layer multicast address
 | |
| to listen on the interface.
 | |
| Note that it is impossible to join protocol multicast groups
 | |
| statically.  This command only manages link layer addresses.
 | |
| 
 | |
| .TP
 | |
| .BI address " LLADDRESS " (default)
 | |
| the link layer multicast address.
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME"
 | |
| the device to join/leave this multicast address.
 | |
| 
 | |
| .SH ip mroute - multicast routing cache management
 | |
| .B mroute
 | |
| objects are multicast routing cache entries created by a user level
 | |
| mrouting daemon (f.e.
 | |
| .B pimd
 | |
| or
 | |
| .B mrouted
 | |
| ).
 | |
| 
 | |
| Due to the limitations of the current interface to the multicast routing
 | |
| engine, it is impossible to change
 | |
| .B mroute
 | |
| objects administratively, so we may only display them.  This limitation
 | |
| will be removed in the future.
 | |
| 
 | |
| .SS ip mroute show - list mroute cache entries
 | |
| 
 | |
| .TP
 | |
| .BI to " PREFIX " (default)
 | |
| the prefix selecting the destination multicast addresses to list.
 | |
| 
 | |
| .TP
 | |
| .BI iif " NAME"
 | |
| the interface on which multicast packets are received.
 | |
| 
 | |
| .TP
 | |
| .BI from " PREFIX"
 | |
| the prefix selecting the IP source addresses of the multicast route.
 | |
| 
 | |
| .SH ip tunnel - tunnel configuration
 | |
| .B tunnel
 | |
| objects are tunnels, encapsulating packets in IP packets and then
 | |
| sending them over the IP infrastructure.
 | |
| The encapulating (or outer) address family is specified by the
 | |
| .B -f
 | |
| option.  The default is IPv4.
 | |
| 
 | |
| .SS ip tunnel add - add a new tunnel
 | |
| .SS ip tunnel change - change an existing tunnel
 | |
| .SS ip tunnel delete - destroy a tunnel
 | |
| 
 | |
| .TP
 | |
| .BI name " NAME " (default)
 | |
| select the tunnel device name.
 | |
| 
 | |
| .TP
 | |
| .BI mode " MODE"
 | |
| set the tunnel mode. Available modes depend on the encapsulating address family.
 | |
| .br
 | |
| Modes for IPv4 encapsulation available:
 | |
| .BR ipip ", " sit ", " isatap " and " gre "."
 | |
| .br
 | |
| Modes for IPv6 encapsulation available:
 | |
| .BR ip6ip6 ", " ipip6 " and " any "."
 | |
| 
 | |
| .TP
 | |
| .BI remote " ADDRESS"
 | |
| set the remote endpoint of the tunnel.
 | |
| 
 | |
| .TP
 | |
| .BI local " ADDRESS"
 | |
| set the fixed local address for tunneled packets.
 | |
| It must be an address on another interface of this host.
 | |
| 
 | |
| .TP
 | |
| .BI ttl " N"
 | |
| set a fixed TTL
 | |
| .I N
 | |
| on tunneled packets.
 | |
| .I N
 | |
| is a number in the range 1--255. 0 is a special value
 | |
| meaning that packets inherit the TTL value.
 | |
| The default value for IPv4 tunnels is:
 | |
| .BR "inherit" .
 | |
| The default value for IPv6 tunnels is:
 | |
| .BR "64" .
 | |
| 
 | |
| 
 | |
| .TP
 | |
| .BI tos " T"
 | |
| .TP
 | |
| .BI dsfield " T"
 | |
| .TP
 | |
| .BI tclass " T"
 | |
| set a fixed TOS (or traffic class in IPv6)
 | |
| .I T
 | |
| on tunneled packets.
 | |
| The default value is:
 | |
| .BR "inherit" .
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME"
 | |
| bind the tunnel to the device
 | |
| .I NAME
 | |
| so that tunneled packets will only be routed via this device and will
 | |
| not be able to escape to another device when the route to endpoint
 | |
| changes.
 | |
| 
 | |
| .TP
 | |
| .B nopmtudisc
 | |
| disable Path MTU Discovery on this tunnel.
 | |
| It is enabled by default.  Note that a fixed ttl is incompatible
 | |
| with this option: tunnelling with a fixed ttl always makes pmtu
 | |
| discovery.
 | |
| 
 | |
| .TP
 | |
| .BI key " K"
 | |
| .TP
 | |
| .BI ikey " K"
 | |
| .TP
 | |
| .BI okey " K"
 | |
| .RB ( " only GRE tunnels " )
 | |
| use keyed GRE with key
 | |
| .IR K ". " K
 | |
| is either a number or an IP address-like dotted quad.
 | |
| The
 | |
| .B key
 | |
| parameter sets the key to use in both directions.
 | |
| The
 | |
| .BR ikey " and " okey
 | |
| parameters set different keys for input and output.
 | |
| 
 | |
| .TP
 | |
| .BR csum ", " icsum ", " ocsum
 | |
| .RB ( " only GRE tunnels " )
 | |
| generate/require checksums for tunneled packets.
 | |
| The
 | |
| .B ocsum
 | |
| flag calculates checksums for outgoing packets.
 | |
| The
 | |
| .B icsum
 | |
| flag requires that all input packets have the correct
 | |
| checksum.  The
 | |
| .B csum
 | |
| flag is equivalent to the combination
 | |
| .BR "icsum ocsum" .
 | |
| 
 | |
| .TP
 | |
| .BR seq ", " iseq ", " oseq
 | |
| .RB ( " only GRE tunnels " )
 | |
| serialize packets.
 | |
| The
 | |
| .B oseq
 | |
| flag enables sequencing of outgoing packets.
 | |
| The
 | |
| .B iseq
 | |
| flag requires that all input packets are serialized.
 | |
| The
 | |
| .B  seq
 | |
| flag is equivalent to the combination
 | |
| .BR "iseq oseq" .
 | |
| .B It isn't work. Don't use it.
 | |
| 
 | |
| .TP
 | |
| .BR "dscp inherit"
 | |
| .RB ( " only IPv6 tunnels " )
 | |
| Inherit DS field between inner and outer header.
 | |
| 
 | |
| .TP
 | |
| .BI encaplim " ELIM"
 | |
| .RB ( " only IPv6 tunnels " )
 | |
| set a fixed encapsulation limit.  Default is 4.
 | |
| 
 | |
| .TP
 | |
| .BI flowlabel " FLOWLABEL"
 | |
| .RB ( " only IPv6 tunnels " )
 | |
| set a fixed flowlabel.
 | |
| 
 | |
| .SS ip tunnel prl - potential router list (ISATAP only)
 | |
| 
 | |
| .TP
 | |
| .BI dev " NAME"
 | |
| mandatory device name.
 | |
| 
 | |
| .TP
 | |
| .BI prl-default " ADDR"
 | |
| .TP
 | |
| .BI prl-nodefault " ADDR"
 | |
| .TP
 | |
| .BI prl-delete " ADDR"
 | |
| .RB "Add or delete " ADDR
 | |
| as a potential router or default router.
 | |
| 
 | |
| .SS ip tunnel show - list tunnels
 | |
| This command has no arguments.
 | |
| 
 | |
| .SH ip monitor and rtmon - state monitoring
 | |
| 
 | |
| The
 | |
| .B ip
 | |
| utility can monitor the state of devices, addresses
 | |
| and routes continuously.  This option has a slightly different format.
 | |
| Namely, the
 | |
| .B monitor
 | |
| command is the first in the command line and then the object list follows:
 | |
| 
 | |
| .BR "ip monitor" " [ " all " |"
 | |
| .IR LISTofOBJECTS " ]"
 | |
| 
 | |
| .I OBJECT-LIST
 | |
| is the list of object types that we want to monitor.
 | |
| It may contain
 | |
| .BR link ", " address " and " route "."
 | |
| If no
 | |
| .B file
 | |
| argument is given,
 | |
| .B ip
 | |
| opens RTNETLINK, listens on it and dumps state changes in the format
 | |
| described in previous sections.
 | |
| 
 | |
| .P
 | |
| If a file name is given, it does not listen on RTNETLINK,
 | |
| but opens the file containing RTNETLINK messages saved in binary format
 | |
| and dumps them.  Such a history file can be generated with the
 | |
| .B rtmon
 | |
| utility.  This utility has a command line syntax similar to
 | |
| .BR "ip monitor" .
 | |
| Ideally,
 | |
| .B rtmon
 | |
| should be started before the first network configuration command
 | |
| is issued. F.e. if you insert:
 | |
| .sp
 | |
| .in +8
 | |
| rtmon file /var/log/rtmon.log
 | |
| .in -8
 | |
| .sp
 | |
| in a startup script, you will be able to view the full history
 | |
| later.
 | |
| 
 | |
| .P
 | |
| Certainly, it is possible to start
 | |
| .B rtmon
 | |
| at any time.
 | |
| It prepends the history with the state snapshot dumped at the moment
 | |
| of starting.
 | |
| 
 | |
| .SH ip xfrm - setting xfrm
 | |
| xfrm is an IP framework, which can transform format of the datagrams,
 | |
| .br
 | |
| i.e. encrypt the packets with some algorithm. xfrm policy and xfrm state
 | |
| are associated through templates
 | |
| .IR TMPL_LIST "."
 | |
| This framework is used as a part of IPsec protocol.
 | |
| 
 | |
| .SS ip xfrm state add - add new state into xfrm
 | |
| 
 | |
| .SS ip xfrm state update - update existing xfrm state
 | |
| 
 | |
| .SS ip xfrm state allocspi - allocate SPI value
 | |
| 
 | |
| .TP
 | |
| .I MODE
 | |
| is set as default to
 | |
| .BR transport ","
 | |
| but it could be set to
 | |
| .BR tunnel "," ro " or " beet "."
 | |
| 
 | |
| .TP
 | |
| .I FLAG-LIST
 | |
| contains one or more flags.
 | |
| 
 | |
| .TP
 | |
| .I FLAG
 | |
| could be set to
 | |
| .BR noecn ", " decap-dscp " or " wildrecv "."
 | |
| 
 | |
| .TP
 | |
| .I ENCAP
 | |
| encapsulation is set to encapsulation type
 | |
| .IR ENCAP-TYPE ", source port " SPORT ", destination port "  DPORT " and " OADDR "."
 | |
| 
 | |
| .TP
 | |
| .I ENCAP-TYPE
 | |
| could be set to
 | |
| .BR espinudp " or " espinudp-nonike "."
 | |
| 
 | |
| .TP
 | |
| .I ALGO-LIST
 | |
| contains one or more algorithms
 | |
| .I ALGO
 | |
| which depend on the type of algorithm set by
 | |
| .IR ALGO_TYPE "."
 | |
| Valid algorithms are:
 | |
| .BR enc ", " auth " or " comp "."
 | |
| 
 | |
| .SS ip xfrm policy add - add a new policy
 | |
| 
 | |
| .SS ip xfrm policy update - update an existing policy
 | |
| 
 | |
| .SS ip xfrm policy delete - delete existing policy
 | |
| 
 | |
| .SS ip xfrm policy get - get existing policy
 | |
| 
 | |
| .SS ip xfrm policy deleteall - delete all existing xfrm policy
 | |
| 
 | |
| .SS ip xfrm policy list - print out the list of xfrm policy
 | |
| 
 | |
| .SS ip xfrm policy flush - flush policies
 | |
| It can be flush
 | |
| .BR all
 | |
| policies or only those specified with
 | |
| .BR ptype "."
 | |
| 
 | |
| .TP
 | |
| .BI dir " DIR "
 | |
| directory could be one of these:
 | |
| .BR "inp", " out " or " fwd".
 | |
| 
 | |
| .TP
 | |
| .IR SELECTOR
 | |
| selects for which addresses will be set up the policy. The selector
 | |
| is defined by source and destination address.
 | |
| 
 | |
| .TP
 | |
| .IR UPSPEC
 | |
| is defined by source port
 | |
| .BR sport ", "
 | |
| destination port
 | |
| .BR dport ", " type
 | |
| as number,
 | |
| .B code
 | |
| also number and
 | |
| .BR key
 | |
| as dotted-quad or number.
 | |
| 
 | |
| .TP
 | |
| .BI dev " DEV "
 | |
| specify network device.
 | |
| 
 | |
| .TP
 | |
| .BI index " INDEX "
 | |
| the number of indexed policy.
 | |
| 
 | |
| .TP
 | |
| .BI ptype " PTYPE "
 | |
| type is set as default on
 | |
| .BR "main" ,
 | |
| could be switch on
 | |
| .BR "sub" .
 | |
| 
 | |
| .TP
 | |
| .BI action " ACTION "
 | |
| is set as default on
 | |
| .BR "allow".
 | |
| It could be switch on
 | |
| .BR "block".
 | |
| 
 | |
| .TP
 | |
| .BI priority " PRIORITY "
 | |
| priority is a number. Default priority is set on zero.
 | |
| 
 | |
| .TP
 | |
| .IR LIMIT-LIST
 | |
| limits are set in seconds, bytes or numbers of packets.
 | |
| 
 | |
| .TP
 | |
| .IR TMPL-LIST
 | |
| template list is based on
 | |
| .IR ID ","
 | |
| .BR mode ", " reqid " and " level ". "
 | |
| 
 | |
| .TP
 | |
| .IR ID
 | |
| is specified by source address, destination address,
 | |
| .I proto
 | |
| and value of
 | |
| .IR spi "."
 | |
| 
 | |
| .TP
 | |
| .IR XFRM_PROTO
 | |
| values:
 | |
| .BR esp ", " ah ", " comp ", " route2 " or " hao "."
 | |
| 
 | |
| .TP
 | |
| .IR MODE
 | |
| is set as default on
 | |
| .BR transport ","
 | |
| but it could be set on
 | |
| .BR tunnel " or " beet "."
 | |
| 
 | |
| .TP
 | |
| .IR LEVEL
 | |
| is set as default on
 | |
| .BR required
 | |
| and the other choice is
 | |
| .BR use "."
 | |
| 
 | |
| .TP
 | |
| .IR UPSPEC
 | |
| is specified by
 | |
| .BR sport " and " dport " (for UDP/TCP), "
 | |
| .BR type " and " code " (for ICMP; as number) or "
 | |
| .BR key " (for GRE; as dotted-quad or number)."
 | |
| .
 | |
| 
 | |
| .SS ip xfrm monitor - is used for listing all objects or defined group of them.
 | |
| The
 | |
| .B xfrm monitor
 | |
| can monitor the policies for all objects or defined group of them.
 | |
| 
 | |
| .SH HISTORY
 | |
| .B ip
 | |
| was written by Alexey N. Kuznetsov and added in Linux 2.2.
 | |
| .SH SEE ALSO
 | |
| .BR tc (8)
 | |
| .br
 | |
| .RB "IP Command reference " ip-cref.ps
 | |
| .br
 | |
| .RB "IP tunnels " ip-cref.ps
 | |
| .br
 | |
| .RB "User documentation at " http://lartc.org/ ", but please direct bugreports and patches to: " <netdev@vger.kernel.org>
 | |
| 
 | |
| .SH AUTHOR
 | |
| Original Manpage  by Michail Litvak <mci@owl.openwall.com>
 | 
