Das suche ich immer wieder:
Feste IP in Datei /etc/network/interfaces einstellen:
allow-hotplug eth0 iface eth0 inet static address 192.168.178.19 netmask 255.255.255.0 gateway 192.168.178.1 dns-nameservers 192.168.178.1 network 192.168.178.0 broadcast 192.168.178.255
Hinweis: Für das Setzen des dns-nameservers ist das Paket resolvconf notwendig.
Will man nach dem Start des Interfaces noch was tun, dann das noch dazu bauen:
up /sbin/ip route add 192.168.2.0/24 dev eth1
DHCP IP in Datei /etc/network/interfaces einstellen:
allow-hotplug eth1 iface eth1 inet dhcp
Bei IPv6 geht das so:
allow-hotplug eth1 iface eth1 inet6 static address 2001:xxxx:xxxx:x::1 netmask 64 up /sbin/ip route add 2001:xxxx:xxxx:x::/64 dev eth1
auto lo iface lo inet loopback
allow-hotplug eth1 iface eth1 inet dhcp
auto eth1.178 iface eth1.178 inet static vlan-raw-device eth1
auto eth0
auto br0 iface br0 inet static address 192.168.178.19 netmask 255.255.255.0 bridge_ports eth0 eth1.178
# für weiter IP auf der Brücke
auto br0:1 iface br0:1 inet static address 192.168.178.1 netmask 255.255.255.0
# für IPV6 iface br0 inet6 static address 2001:4dd0:fd74:1::1 netmask 64 up /sbin/ip route add 2001:4dd0:fd74:1::/64 dev br0
Um die WLAN Schnittstelle automatisch nach dem Booten zur starten, muss folgendes in die Interfaces Datei (bei Ubuntu/Debian/und ähnliche Linuxe) geschrieben werden:
auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/network/wlan.conf
Laut einem Forumseintrag soll das auch gehen:
auto wlan0 iface wlan0 inet dhcp wpa-driver wext wpa-ssid MeineSSID wpa-ap-scan 1 wpa-proto RSN wpa-pairwise CCMP wpa-group CCMP wpa-key-mgmt WPA-PSK wpa-psk "swordfish"
oder bei fester IP
auto wlan0 iface wlan0 inet static address 192.168.177.200 network 192.168.177.0 netmask 255.255.255.0 wpa-conf /etc/network/wlan.conf
In der angegebene wlan.conf Datei ist dann das WLAN definiert
network={ ssid="wlan" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="geheim" }
—-
Mal angenommen man sitzt so beim LUG-Treffen und alle surfen über WLAN. Alle bis auf einen, bei dem kein WLAN vorhanden ist. Damit dieser aber nicht im Dunkeln bleibt, verbindet man ihn per Crossover-Netzwerkkabel mit einem WLAN-Rechner und funktioniert diesen zum Router um. Im Bild könnte das so aussehen:
+---------------+ W +-----------+ +-------------+ | DSL Router | \ | Rechner 1 | Cross | Rechner 2 | |IP: 192.168.1.1|___L___|192.168.1.2|__Over___| | +---------------+ A |192.168.9.1| Kabel | 192.168.9.2 | N +-----------+ +-------------+
Nun muss beim WLAN-Rechner das Netzwerk und die IP-Tables Firewall konfiguriert werden und beim Rechner 2 das Netzwerk entsprechend. (Wir gehen hier von einer bereits funktionierenden WLAN Verbindung auf dem 1. Rechner aus.)
Auf dem WLAN-Rechner (Rechner 1)
Kabel Netzwerkkarte einstellen und aktivieren: (Für die Konsole)
ifconfig eth0 192.168.9.1 netmask 255.255.255.0 up
Nutzt man ein aktuelles Linux mit Networkmanager, dann legt man sich ein passendes Profil mit aussagekräftigem Namen an (z.B. lokal-192.168-9) und aktiviert dies dann auf der Konsole mit:
nmcli connection lokal-192-168-9 up
IP-Paket-Weiterleitung aktivieren und in der lokalen Firewall Maskieren einschalten:
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -I POSTROUTING -j MASQUERADE
Die IP-Pakete von Rechner 2 werden nun maskiert, damit der DSL Router die IP von Rechner 2 nicht sieht.
Eventuell muss man noch die Firewall im WLAN Rechner konfigurieren bzw. IP-Pakete von unserem Rechner 2 erlauben:
iptables -I FORWARD -s 192.168.9.0/24 -j ACCEPT iptables -I FORWARD -d 192.168.9.0/24 -j ACCEPT
Auf Rechner 2:
Netzwerkkarte einstellen und aktivieren per Konsole oder Networkmanager:
ifconfig eth0 192.168.9.2 netmask 255.255.255.0 up
Defaultroute über WLAN Rechner 1.
route add default gw 192.168.9.1
Namensauflösung macht der DSL-Router, darum DNS Server im Rechner 2 auf DSL Router einstellen:
echo "nameserver 192.168.1.1" > /etc/resolv.conf
Zusatztipp: Anstelle des Crossover Kabels kann man auch einen kleinen Switch einsetzen, über den dann mehrere Rechner über den einen mit WLAN surfen können. Jeder muss dann nur seine eigene IP-Adresse haben.
Beim LUG Treffen hatten wir u.a. auch mal kurz das Thema „Doppelbelegung durch benachbarte WLAN Access Points (kurz: AP)“. Hier eine kurze Zusammenfassung von mir:
Für das klassische WLAN gibt es 13 verschiedene Kanäle auf denen die verschiedenen WLAN Geräte senden können. Nebenbei sind davon in den USA nur 11, dafür in Japan sogar noch einer mehr, also 14 Kanäle erlaubt. Die 13 bei uns erlaubten Kanäle teilen sich den Frequenzbereich 2,4 GHz bis 2,4835 GHz und überlappen sich dabei. Das heisst ein AP auf Kanal 1 teilt sich Frequenzanteile mit den Kanälen 2-4 und stößt direkt an Kanal 5 an. Richtig störungsfrei wäre demnach ein Betrieb dreier benachbarter AP auf den Kanalkombinationen 1+6+11, 2+7+12, oder 3+8+13 möglich. In der Englischen Wikipedia findet sich auch eine Grafik 1) dazu, die ihr hier seht:
Leider kann man nie ausschließen, das morgen ein Nachbar sich einen WLAN Router zulegt und munter anfängt auf der gleichen Frequenz zu senden. Das macht auch erst einmal nichts, wenn alle Teilnehmer immer nahe beim eignen AP sind. Will man aber zum Beispiel im Garten surfen und sitzt in der Mitte der beiden AP, kann das schon problematisch werden. Dann hilft nur scannen und ausweichen, weil dem Nachbarn erklärst du das mal nicht so einfach.
Einfaches Scannen unter Linux geht auf der Konsole als root mit: „iwlist [interface] scanning“. Das Interface zeigt z.B. der Befehl „iwconfig“ an.
Quellen:
Folgender Befehl zeigt alle gefundenen Netze im Detail an. wlan0 ist hier der Name des Wlan-Adapters und kann auch anders lauten.
iwlist wlan0 scanning
Folgendes Script kann man sich speichern, um eine kleinere und übersichtliche kurze Liste der gefundenen Netze zu erhalten:
#!/bin/bash iwlist wlan0 scanning|grep -i -e frequen -e essid -e signal | tr '\n' ' ' | sed 's/Freq/\nFreq/g; s/ / /g'|sort echo ""
Das echo am Ende dient nur der Schönheit und kann auch weggelassen werden.
WLan Belastung erzeugen mit Ping:
nice --20 ionice -c2 -n0 ping -q -s 484 -l 3 -p 0f1e2d3c4b5a6978 -f 192.168.179.193
Die bracht man wenn ein Linux PC ohne serielle Schnittstelle über Netzwerk via einem weiteren Linux PC oder via einem RS232 Netzwerk-Modul wie z.B. Lantronix oder DigiWEB mit RS232 verwenden will.
socat PTY,link=/dev/ttyS4,raw,echo=0,wait-slave TCP4:192.168.178.32:10001
via SSH auf die serielle Schnittstelle des Linux PCs, ohne root rechte, da das Device im Homedir des Users liegt.
socat PTY,link=$HOME/vmodem0,raw,echo=0,wait-slave EXEC:'"ssh modem‐ server.us.org socat - /dev/ttyS0,nonblock,raw,echo=0"'
via SSH Tunnel von einem Linux PC auf ein DigiWEB
socat PTY,link=/dev/ttyS4,raw,echo=0,wait-slave EXEC:'"ssh 192.168.178.21 -p 22 socat - TCP4:192.168.178.32:10001"'
zusätzlich kann man das ganze auch in eine Schleife einhüllen, damit bei einem Verbindungsabbau diese wieder automatisch geöffnet wird.
while true; do socat PTY,link=/dev/ttyS4,raw,echo=0,wait-slave EXEC:'"ssh 192.168.178.21 -p 22 socat - TCP4:192.168.178.32:10001"'; sleep 1; done;
(Hinweis: Die fünf Zeilen hier oben sind hintereinander in eine Zeile zu kopieren. Die Zeilenumbrüche dienen lediglich der Lesbarkeit.)
for i in `seq 110 199`; \ do ping -c 1 192.168.6.$i > /dev/null; \ if [ $? == 0 ]; then echo $i; fi; done;
Unter der folgenden URL kann mit der Fritzbox der Internet Traffic mitgeschnitten werden.
http://fritz.box/html/capture.html
Die mitgeschnittene Datei *.eth kann dann mit dem Programm Wireshark geöffnet werden.
Aktivieren der Apache Module und Seiten:
a2enmod ssl a2ensite default-ssl
In Datei /etc/apache2/sites-enabled/default-ssl den Servernahme z.B. „ServerName url.de“ eingeben. Diesen dann auch unbedingt für das Zertifikat verwenden. In der selben default-ssl Daten das folgende Beispiel auskommentieren
# SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem # SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
und das einbauen:
SSLCertificateKeyFile /etc/apache2/mycert/server.key SSLCertificateFile /etc/apache2/mycert/server.crt
Zertifikat erstellen z.B. in:
mkdir /etc/apache2/mycert cd /etc/apache2/mycert openssl genrsa -out server.key 2048 openssl req -new -key server.key -out server.csr openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
Zum Schluss noch: „service apache2 restart“, dann sollte https gehen.
Info: Zur Installation der owncloud muß in der default-ssl „AllowOverride All“ eingestellt werden.
Will man die Login Oberfläche eines Linux Rechners remote via Netzwerk erreichen so wird das via XDMCP gemacht.
Hierzu muss im Display Manager das Hostrechners das XDMCP aktiviert werden. Je nach dem kann das gdm, lightdm oder gdm3, usw. sein. Meist gibt es da einen Eintrag im /etc/xxx/yyy.conf File.
[XDMCP] Enable=true
kann aber auch so sein,
[XDMCPServer] Enable=true
Ist das aktiviert, und der Display Manager neu gestartet, kann man z.B. mit dem Befehl:
sudo Xorg -terminate -query 192.168.0.251 :1
einen weiteren X-Server auf seinem PC starten und das login des Remote PC anzeigen. Die Server werden dabei durch „strg+alt+F7“ und „strg+alt+F8“ bzw.„strg+alt+F9“ umgeschaltet.
Soll der Remote Login im einem Fenster des eigenen Desktop angezeigt werden, kann man dies auch durch den Befehl:
Xephyr -query 192.168.0.252 :1
machen. Dann öffnet sich der Login Desktop in einem Fenster auf dem Remote PC.
Hinweis: Xephyr wird vermutlich mit dem Paket „xserver-xephyr“ installiert.
Achtung: Wenn eine Firewall im remote PC aktiv ist dann geht das vermutlich nicht, also Firewall für die Host IP off schalten.
Nach einem Update der owncloud durch 'apt-get upgrade' wird die owncloud in den Maintenance-mode geschaltet.
Um das upgrade vollständig durchzuführen (z.B. die mySQL Datenbank) muss dann folgendes gemacht werden.
1. Sicherheitshalber backup der mySQL Datenbank
2. Wechseln in folgenden Ordner:
cd /var/www/owncloud
3. Als root folgenden Befehl eingeben:
sudo -u www-data ./occ upgrade
4. Den folgenden Befehl eingeben, hierdurch wird die Cloud wieder gestartet:
sudo -u www-data ./occ maintenance:mode --off
Hinweis:
Da die owncloud beim upgrade immer die 3rd-party Module ausschaltet müssen diese wieder aktiviert werden. Hierzu beim upgrade z.B. auf folgende Ausgeben auchten:
... Disabled 3rd-party app: calendar Disabled 3rd-party app: contacts Disabled 3rd-party app: documents ...
Der owncloud Client wird am besten über ein Repositorie installiert.
Also die folgende Datei anlegen:
/etc/apt/sources.list.d/owncloud-client.list
mit diesem Inhalt:
deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_8.0/ /
dann noch den gpg Key Runterladen und den Key hinzufügen:
wget http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_8.0/Release.key -O /tmp/Release.key apt-key add /tmp/Release.key
Hat man einen Service auf einem Linux Rechner der nicht mit User und Passwort geschützt werden kann, dann hilft einem iptables.
/sbin/iptables -A INPUT -p tcp --destination-port 2000 -m mac \ --mac-source 00:0F:EA:91:04:07 -j ACCEPT /sbin/iptables -A INPUT -p tcp --destination-port 2000 -j DROP
Hier wird eine Verbindung auf Port 2000 nur angenommen, wenn die MAC Adresse stimme, alle anderen Verbindungen auf den Port 2000 von anderen Rechnern bzw. MAC`s werden blockiert.
Will man einen Service starten der keine Rootrechte hat, kann man diesen nicht auf den ersten 1024 Ports laufen lassen. Dies kann man mit einem internen Port forwarding via iptables umgehen.
/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp \ --dport 80 -j REDIRECT --to-port 8080
ACHTUNG noch nicht ganz richtig
ssh root@test.des tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -