mirror of
				https://github.com/vyos/vyos-documentation.git
				synced 2025-10-26 08:41:46 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			191 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip adjust-mss <mss | clamp-mss-to-pmtu>
 | |
| 
 | |
|   As Internet wide PMTU discovery rarely works, we sometimes need to clamp our
 | |
|   TCP MSS value to a specific value. This is a field in the TCP options part of
 | |
|   a SYN packet. By setting the MSS value, you are telling the remote side
 | |
|   unequivocally 'do not try to send me packets bigger than this value'.
 | |
| 
 | |
|   .. note:: This command was introduced in VyOS 1.4 - it was previously called:
 | |
|     ``set firewall options interface <name> adjust-mss <value>``
 | |
| 
 | |
|   .. hint:: MSS value = MTU - 20 (IP header) - 20 (TCP header), resulting in
 | |
|     1452 bytes on a 1492 byte MTU.
 | |
| 
 | |
|   Instead of a numerical MSS value `clamp-mss-to-pmtu` can be used to
 | |
|   automatically set the proper value.
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip arp-cache-timeout
 | |
| 
 | |
|   Once a neighbor has been found, the entry is considered to be valid for at
 | |
|   least for this specific time. An entry's validity will be extended if it
 | |
|   receives positive feedback from higher level protocols.
 | |
| 
 | |
|   This defaults to 30 seconds.
 | |
| 
 | |
|   Example:
 | |
| 
 | |
|   .. code-block:: none
 | |
| 
 | |
|     set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip arp-cache-timeout 180
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip disable-arp-filter
 | |
| 
 | |
|   If set the kernel can respond to arp requests with addresses from other
 | |
|   interfaces. This may seem wrong but it usually makes sense, because it
 | |
|   increases the chance of successful communication. IP addresses are owned by
 | |
|   the complete host on Linux, not by particular interfaces. Only for more
 | |
|   complex setups like load-balancing, does this behaviour cause problems.
 | |
| 
 | |
|   If not set (default) allows you to have multiple network interfaces on the
 | |
|   same subnet, and have the ARPs for each interface be answered based on whether
 | |
|   or not the kernel would route a packet from the ARP'd IP out that interface
 | |
|   (therefore you must use source based routing for this to work).
 | |
| 
 | |
|   In other words it allows control of which cards (usually 1) will respond to an
 | |
|   arp request.
 | |
| 
 | |
|   Example:
 | |
| 
 | |
|   .. code-block:: none
 | |
| 
 | |
|     set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip disable-arp-filter
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip disable-forwarding
 | |
| 
 | |
|   Configure interface-specific Host/Router behaviour. If set, the interface will
 | |
|   switch to host mode and IPv6 forwarding will be disabled on this interface.
 | |
| 
 | |
|   .. code-block:: none
 | |
| 
 | |
|     set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip disable-forwarding
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip enable-directed-broadcast
 | |
| 
 | |
|   Define different modes for IP directed broadcast forwarding as described in
 | |
|   :rfc:`1812` and :rfc:`2644`.
 | |
| 
 | |
|   If configured, incoming IP directed broadcast packets on this interface will
 | |
|   be forwarded.
 | |
| 
 | |
|   If this option is unset (default), incoming IP directed broadcast packets
 | |
|   will not be forwarded.
 | |
| 
 | |
|   .. code-block:: none
 | |
| 
 | |
|     set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-directed-broadcast
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip enable-arp-accept
 | |
| 
 | |
|   Define behavior for gratuitous ARP frames whose IP is not already present in
 | |
|   the ARP table. If configured create new entries in the ARP table.
 | |
| 
 | |
|   Both replies and requests type gratuitous arp will trigger the ARP table to be
 | |
|   updated, if this setting is on.
 | |
| 
 | |
|   If the ARP table already contains the IP address of the gratuitous arp frame,
 | |
|   the arp table will be updated regardless if this setting is on or off.
 | |
| 
 | |
|   .. code-block:: none
 | |
| 
 | |
|     set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-arp-accept
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip enable-arp-announce
 | |
| 
 | |
|   Define different restriction levels for announcing the local source IP address
 | |
|   from IP packets in ARP requests sent on interface.
 | |
| 
 | |
|   Use any local address, configured on any interface if this is not set.
 | |
| 
 | |
|   If configured, try to avoid local addresses that are not in the target's
 | |
|   subnet for this interface. This mode is useful when target hosts reachable via
 | |
|   this interface require the source IP address in ARP requests to be part of
 | |
|   their logical network configured on the receiving interface. When we generate
 | |
|   the request we will check all our subnets that include the target IP and will
 | |
|   preserve the source address if it is from such subnet. If there is no such
 | |
|   subnet we select source address according to the rules for level 2.
 | |
| 
 | |
|   .. code-block:: none
 | |
| 
 | |
|     set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-arp-announce
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip enable-arp-ignore
 | |
| 
 | |
|   Define different modes for sending replies in response to received ARP
 | |
|   requests that resolve local target IP addresses:
 | |
| 
 | |
|   If configured, reply only if the target IP address is local address configured
 | |
|   on the incoming interface.
 | |
| 
 | |
|   If this option is unset (default), reply for any local target IP address,
 | |
|   configured on any interface.
 | |
| 
 | |
|   .. code-block:: none
 | |
| 
 | |
|     set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-arp-ignore
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip enable-proxy-arp
 | |
| 
 | |
|   Use this command to enable proxy Address Resolution Protocol (ARP) on this
 | |
|   interface. Proxy ARP allows an Ethernet interface to respond with its own
 | |
|   :abbr:`MAC (Media Access Control)` address to ARP requests for destination IP
 | |
|   addresses on subnets attached to other interfaces on the system. Subsequent
 | |
|   packets sent to those destination IP addresses are forwarded appropriately by
 | |
|   the system.
 | |
| 
 | |
|   Example:
 | |
| 
 | |
|   .. code-block:: none
 | |
| 
 | |
|     set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-proxy-arp
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip proxy-arp-pvlan
 | |
| 
 | |
|   Private VLAN proxy arp. Basically allow proxy arp replies back to the same
 | |
|   interface (from which the ARP request/solicitation was received).
 | |
| 
 | |
|   This is done to support (ethernet) switch features, like :rfc:`3069`, where
 | |
|   the individual ports are NOT allowed to communicate with each other, but they
 | |
|   are allowed to talk to the upstream router. As described in :rfc:`3069`, it is
 | |
|   possible to allow these hosts to communicate through the upstream router by
 | |
|   proxy_arp'ing.
 | |
| 
 | |
|   .. note:: Does not need to be used together with proxy_arp.
 | |
| 
 | |
|   This technology is known by different names:
 | |
| 
 | |
|   - In :rfc:`3069` it is called VLAN Aggregation
 | |
| 
 | |
|   - Cisco and Allied Telesyn call it Private VLAN
 | |
| 
 | |
|   - Hewlett-Packard call it Source-Port filtering or port-isolation
 | |
| 
 | |
|   - Ericsson call it MAC-Forced Forwarding (RFC Draft)
 | |
| 
 | |
| .. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }}
 | |
|   {{ var5 }} {{ var6 }} ip source-validation <strict | loose | disable>
 | |
| 
 | |
|   Enable policy for source validation by reversed path, as specified in
 | |
|   :rfc:`3704`. Current recommended practice in :rfc:`3704` is to enable strict
 | |
|   mode to prevent IP spoofing from DDos attacks. If using asymmetric routing
 | |
|   or other complicated routing, then loose mode is recommended.
 | |
| 
 | |
|   - strict: Each incoming packet is tested against the FIB and if the interface
 | |
|     is not the best reverse path the packet check will fail. By default failed
 | |
|     packets are discarded.
 | |
| 
 | |
|   - loose: Each incoming packet's source address is also tested against the FIB
 | |
|     and if the source address is not reachable via any interface the packet
 | |
|     check will fail.
 | |
| 
 | |
|   - disable: No source validation
 |