iproute2
02/03/2019ip
is from iproute2
package.
show configuration
# addr
$ ip addr show
$ ip addr show eth0
# multicast addr
$ ip maddr
# link
$ ip link show
$ ip link show eth0
# other link info
$ ethtool eth0
# route
$ ip route show
# neighbors
$ ip neighbor
# multicast group of host
$ ip maddress show
# windows
$ arp -a
$ ipconfig
$ route print
configure
# clean interface
$ ip addr flush dev eth0
# addr
$ ip addr add 172.16.0.1/24 dev eth0
# up/down interface
$ ip link set dev eth0 up
$ ip link set dev eth0 down
# route
$ ip route add default via 192.168.0.254
$ ip route add 10.0.0.0/24 via 193.233.7.65
# promiscuous mode: pass all traffic to host rather
# than filter on destination address of NIC
$ ip link set dev eth0 promisc on
# mtu
$ ip link set dev eth0 mtu 1500
enable routing on Linux
# show
$ sysctl net.ipv4.ip_forward
# edit
$ sysctl net.ipv4.ip_forward=1
# for persistent rules add this in /etc/sysctl.conf
$ net.ipv4.ip_forward = 1
# apply changes
$ sysctl -p /etc/sysctl.conf
# old method
$ echo 1 > /proc/sys/net/ipv4/ip_forward
cli configuration
$ ip addr flush dev eth0
$ ip addr show dev eth0 # check
$ ip addr add 192.168.42.57/24 brd + dev eth0
$ ip addr show dev eth0 # check
$ ip route add default via 192.168.42.254
$ ip route # check
# test routing and find output interface
$ ip route get 164.81.1.4
164.81.1.4 via 192.168.42.254 dev eth0 src 192.168.42.57
# dhcp: interfaces + /etc/resolv.conf + default route
$ dhclient eth0
# dns config
$ vim /etc/resolv.conf
nameserver 9.9.9.9
file configuration
$ more /etc/network/interfaces
auto lo # start at boot
iface lo inet loopback
auto eth0 # start at boot
iface eth0 inet static # static config.
address 192.168.42.57
netmask 255.255.255.0
gateway 192.168.42.254
auto eth1 # start at boot
iface eth1 inet dhcp # automatic config.
# restart service
$ systemctl restart networking
old commands
# show config.
$ ifconfig -a
# up/down interface
$ ifconfig eth0 up
$ ifconfig eth0 down
# config. ip
$ ifconfig eth0 192.168.1.1/24
# delete ip
$ ifconfig eth0 0.0.0.0/0
# interface dhcp, ip + gateway + dns + ...
$ dhclient eth0
# routing table
$ route
# add gateway
$ route add default gw 192.168.1.254 eth0
# add network route
$ route add -net 172.16.10.10/24 gw 192.168.1.254
# add host route
$ route add -host 98.76.54.32 gw 12.34.56.1