Benutzer-Werkzeuge

Webseiten-Werkzeuge

Übersetzungen dieser Seite:
de

bpi-r2:network:start

Netzwerk-Konfiguration

IP-Befehl benötigt iproute2-Paket

sonstige Pakete:

apt-get install iptables
apt-get install net-tools #netstat
apt-get install nmap
apt-get install tcpdump
apt-get install dnsutils --no-install-recommends #dig

die Konfiguration auf dieser Seite basiert auf debian stretch, sollte genauso unter Ubuntu funktionieren setzt Kernel 4.14 oder höher voraus (DSA-Treiber für Port-Trennung)

im Kernel 4.14 existiert eth0 als Verbindung zwischen CPU und dem Switch-Chip (mt7530), an denen die Ports wan und lan0-4 angeschlossen sind. diese Verbindung muss zuerst „up“ genommen werden.

Die Zuordnung der Ports auf eine GMAC ist definiert in der dts-Datei und kann mit „ip a“ angezeigt werden

Mit Kernel 4.14 >.52 wurde in meinem Repo die GMAC #2 (eth1) hinzugefügt und der Wan-Port darauf verbunden.

ohne weitere Konfiguration sind die LAN-Ports getrennt und benötigen eine eigene IP-Konfiguration in verschiedenen Subnetzen

viele Nutzer möchten sicherlich alle LAN-Ports im gleichen Netzwerk-Segment haben, so empfiehlt sich sie mit einer Netzwerkbrücke zu verbinden, um nur 1 IP-Konfiguration für “LAN” zu haben

MAC-Adresse

Die MAC-Adresse lässt sich nur für die GMAC (Verbindung Switch-CPU) setzen. Aktuell wird unter Kernel 4.14 nur eine erkannt (eth0). Hardwareseitig sind 2 GMACs vorhanden.

Möglichkeit via UDEV von hier

$ cat /etc/udev/rules.d/00-static-mac-address.rules
ACTION=="add", SUBSYSTEM=="net", KERNELS=="1b100000.ethernet", RUN+="/sbin/ip link set dev %k address ae:fc:de:ad:be:ef"

/etc/network/interfaces

iface lan0 inet static
  address 192.168.0.10
  netmask 255.255.255.0
  gateway 192.168.0.5
#  pre-up ip link set $IFACE up
  pre-up ip link set $IFACE address 02:01:02:03:04:08 up

IP

dauerhaft

/etc/network/interfaces:

#upstream-Port (NIC zwischen CPU und MT7530-Switch) auf up
auto eth0
iface eth0 inet manual
  pre-up ip link set $IFACE up
  post-down ip link set $IFACE down

#upstream-Port #2 4.14.x >52 (NIC zwischen CPU und MT7530-Switch) auf up
auto eth1
iface eth1 inet manual
  pre-up ip link set $IFACE up
  post-down ip link set $IFACE down

#dann die lan-ports konfigurieren
auto lan0
iface lan0 inet static
  hwaddress ether 08:00:00:00:00:00 # if you want to set MAC manually
  address 192.168.0.10
  netmask 255.255.255.0
  gateway 192.168.0.5
  pre-up ip link set $IFACE up
  post-down ip link set $IFACE down

temporär

ifconfig eth0 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255
ip addr set 192.168.0.10/24 broadcast 192.168.0.255 dev eth0

DHCP

Client

/etc/network/interfaces:

allow-hotplug lan3
iface lan3 inet dhcp

Server

/etc/dnsmasq.conf (aktivieren durch entfernen des # am Zeilenanfang)

conf-dir=/etc/dnsmasq.d

/etc/dnsmasq.d/interfaces.conf

#interface=eth0
interface=wlan0
#interface=eth1
interface=ap0
 
# DHCP-Server nicht aktiv für Schnittstelle
#no-dhcp-interface=ppp0
no-dhcp-interface=eth0
no-dhcp-interface=eth1
 
#dhcp-authoritative
dhcp-range=ap0,192.168.10.100,192.168.10.150,255.255.255.0,48h
dhcp-option=ap0,3,192.168.10.1
dhcp-range=wlan1,192.168.11.100,192.168.11.150,255.255.255.0,48h
dhcp-option=wlan1,3,192.168.11.1

/etc/dnsmasq.d/interfaces.conf

service dnsmasq restart

mehrere IP pro MAC mit dnsmasq: https://stackoverflow.com/a/26964151

mehr Inforationen hier: dnsmasq

IPv6

NAT/Routing

NAT

zum aktivieren von Network Adress Translation (private IPs hinter einer öffentlichen IP)

ipt=/sbin/iptables
if_wan=wan
${ipt} -t nat -A POSTROUTING -o ${if_wan} -j MASQUERADE

Routing

Routing für IPv4 aktivieren

echo 1 > /proc/sys/net/ipv4/ip_forward

Alternative:

nano /etc/sysctl.conf
#activate net.ipv4.ip_forward=1 and net.ipv6.conf.all.forwarding=1 by removing # at beginning of line
sysctl -p /etc/sysctl.conf

Standard-Gateway ändern:

ip route del default
ip route add default via 192.168.50.2

statische Routen zu anderen Netzwerken

Pakete werden an das Default-Gateway geschickt, wenn das Netz dem Router nicht bekannt ist. In klassischen Heimnetzen existiert meist nur ein Router und dort ist das default-Gateway die Internet-Schnittstelle und an den Client-Rechnern ist das Default-Gateway der Router.

statische Routen werden benötigt, wenn ein Netz nicht direkt am Router hängt und nicht über sein Default-Gateway (hier WAN) erreichbar ist

  • im Router #1 muss eine statische Route für das Netz 10.0.3.0/24 mit einem Next-Hop 10.0.2.2 (schickt Pakete über lan#2) eingerichtet werden
    • route add -net 10.0.3.0 netmask 255.255.255.0 gw 10.0.2.2
      ip route add 10.0.3.0/24 via 10.0.2.2
  • im Router #2 muss eine statische Route für das Netz 10.0.1.0/24 mit einem Next-Hop 10.0.2.1 (schickt Pakete über lan#1) eingerichtet werden
    • route add -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.2.1
      ip route add 10.0.1.0/24 via 10.0.2.1

Beispiel für Netz 192.168.50.x hinter Router mit IP 192.168.0.10

route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.0.10
ip route add 192.168.50.0/24 via 192.168.0.10

DNS

/etc/resolv.conf

Netzwerkbrücke

apt-get install bridge-utils

/etc/network/interfaces:

auto br0
iface br0 inet static
  address 192.168.40.1
  netmask 255.255.255.0
  bridge_ports lan1 lan2
  bridge_fd 5
  bridge_stp no

VLAN

/etc/network/interfaces:

auto lan3.60
iface lan3.60 inet static
  address 192.168.60.10
  netmask 255.255.255.0

Firewall (iptables)

Monitoring

#alles außer ssh
sudo tcpdump -i eth0 port not 22 > tcpdump.log
#alles von oder nach 192.168.0.11
tcpdump -nni lan0 host 192.168.0.11
#alles von 192.168.0.11
tcpdump -nni lan0 src host 192.168.0.11
#alles nach 192.168.0.11
tcpdump -nni lan0 dst host 192.168.0.11
#nur icmp
tcpdump -nni lan0 icmp
#wireshark-compatibles mitloggen (volle Pakete), es geht auch "-s0"
tcpdump -i <interface> -s 65535 -w tcpdump.cap

https://www.rationallyparanoid.com/articles/tcpdump.html

https://www.cyberciti.biz/faq/network-statistics-tools-rhel-centos-debian-linux/

ip -s link
netstat -i
netstat -s

Diskussion

bpi-r2/network/start.txt · Zuletzt geändert: 2018/12/08 14:28 von frank