https://docs.cumulusnetworks.com/display/DOCS/Virtual+Routing+and+Forwarding+-+VRF
multiple independent routing tables working simultaneously on the same router or switch Think of this feature as VLAN for layer 3
ls -l /sys/class/net/ # E.g.: ens3 -> ../../devices/pci0000:00/0000:00:03.0/virtio0/net/ens3
ip addr show dev eth1
ifconfig ens7 10.99.0.10/16 up
ip addr add 192.168.6.13/24 dev eth0 && ip link set eth0 up
ip addr flush dev eth0
ifconfig eth0 0.0.0.0 0.0.0.0 && dhclient
ip route add default via 192.168.1.1
ip route show table all
tcpdump -i any port 27017
nmap -sV -p6379 127.0.0.1
ip tuntap add mode tap dev tap1
tap1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether a2:05:e8:7f:d9:e8 brd ff:ff:ff:ff:ff:ff
ip tuntap add mode tun dev tun1
tun1: <POINTOPOINT,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 500
link/none
ethtool -k ens3 | grep offload # list Features
ethtool -K ens3 gro off gso off tso off # set tcp-segmentation-offload, generic-segmentation/receive-offload
iptables -I INPUT -i docker0 -j ACCEPT
iptables -I INPUT -s localhost -j ACCEPT
iptables -A INPUT --dport 81 -j DROP
iptables -A INPUT -p tcp -m multiport --dport 3306,6379 -j DROP
iptables -A INPUT -p udp --dport 161 -j ACCEPT
_____ _____
/ \ / \
PREROUTING -->[Routing ]----------------->POSTROUTING----->
\D-NAT/ [Decision] \S-NAT/
| ^
| |
--------> Local Process ------
modprobe nf_log_ipv4
sysctl net.netfilter.nf_log.2=nf_log_ipv4
iptables -t raw -A OUTPUT -p icmp -j TRACE
iptables -t raw -A PREROUTING -p icmp -j TRACE
vi /var/log/kern.log
tcpdump -i any icmp
iptables_log_INPUT_DROP() {
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP
}
iptables -t nat -N TP
iptables -t nat -I TP -p tcp --dport 4433 -j RETURN # bypass Port
# https://tools.ietf.org/html/rfc5735#page-6
iptables -t nat -A TP -d 0.0.0.0/8 -j RETURN
iptables -t nat -A TP -d 10.0.0.0/8 -j RETURN
iptables -t nat -A TP -d 127.0.0.0/8 -j RETURN
iptables -t nat -A TP -d 169.254.0.0/16 -j RETURN
iptables -t nat -A TP -d 172.16.0.0/12 -j RETURN
iptables -t nat -A TP -d 192.168.0.0/16 -j RETURN
iptables -t nat -A TP -d 224.0.0.0/4 -j RETURN
iptables -t nat -A TP -d 240.0.0.0/4 -j RETURN
# Anything else should be redirected to Dokodemo-door's local port
iptables -t nat -A TP -p tcp -j REDIRECT --to-ports 20088
iptables -t nat -I OUTPUT -p tcp -j TP
iptables -t nat -I PREROUTING -p tcp -j TP
# Add any UDP rules
iptables -t mangle -N TP
iptables -t mangle -A TP -p udp --dport 53 -j TPROXY --on-port 20088 --tproxy-mark 0x01/0x01
iptables -t mangle -A PREROUTING -j TP
iptables -t mangle -N TP_MARK
iptables -t mangle -A TP_MARK -p udp --dport 53 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -j TP_MARK
ip route add local default dev lo table 100
ip rule add fwmark 1 lookup 100
ip rule del fwmark 1 lookup 100 # disable UDP
Priority: 0, Selector: match anything, Action: lookup routing
table local (ID 255). The local table is a special routing
table containing high priority control routes for local and
broadcast addresses.
Priority: 32766, Selector: match anything, Action: lookup
routing table main (ID 254). The 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.
Priority: 32767, Selector: match anything, Action: lookup
routing table default (ID 253). The 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.
# cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
resolvectl dns
/etc/nsswitch.conf
#hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
hosts: files dns # fix nslookup works but ping not work