frei2003
Anmeldungsdatum: 14. November 2008
Beiträge: Zähle...
|
Hallo!
Ich möchte 2 Netzwerkverbindungen gleichzeitig nutzen, aber vollkommen getrennt voneinander. Die erste soll vom User1 und vom System genutzt werden, die zweite ausschließlich von User2. User1 soll nicht auf Netz2 können und umgekehrt. Alternativ könnte Netz2 auch nur von einem Programm, das unter User2 läuft genutzt werden.
Netz1 ist die eingebaute Netzwerkkarte.
Netz2 könnte das eingebaute Wlan sein oder ein USB-Netzwerkadapter. Mit dem USB-Adapter krieg ich das mittels VM-Ware zum Laufen, ich möchte es aber auch ohne schaffen. Irgendwelche Tips?
|
elektronenblitz63
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
Hallo, mit iptables sollte das möglich sein. Beispiel für einen Benutzer:
sudo /sbin/iptables -A OUTPUT -o [Netzwerk-Interface was gesperrt werden soll] -m owner --uid-owner [Benutzername] -j REJECT
# also entsprechend für die Ethernettschnittstelle eth0 und den User paul
sudo /sbin/iptables -A OUTPUT -o eth0 -m owner --uid-owner paul -j REJECT
|
frei2003
(Themenstarter)
Anmeldungsdatum: 14. November 2008
Beiträge: 36
|
Das blockiert zwar den Zugang zum Interface, aber damit findet der User nicht zum anderen Interface, sprich das Routing klappt nicht.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13938
|
frei2003 schrieb: Das blockiert zwar den Zugang zum Interface, aber damit findet der User nicht zum anderen Interface, sprich das Routing klappt nicht.
Versuch mal mit:
sudo /sbin/iptables -A OUTPUT -o eth0 ! -d 192.168.0.0/16 -m owner --uid-owner paul -j REJECT
|
frei2003
(Themenstarter)
Anmeldungsdatum: 14. November 2008
Beiträge: 36
|
Was bedeutet das Rufzeichen und die Netzwerkmaske? Mein privates Netz ist 10.0.0.0/24
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13938
|
frei2003 schrieb: Was bedeutet das Rufzeichen und die Netzwerkmaske? Mein privates Netz ist 10.0.0.0/24
! ist eine Negation. Dann Versuch mit:
sudo /sbin/iptables -A OUTPUT -o eth0 ! -d 10.0.0.0/24 -m owner --uid-owner paul -j REJECT
|
frei2003
(Themenstarter)
Anmeldungsdatum: 14. November 2008
Beiträge: 36
|
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13938
|
frei2003 schrieb: hat gar keinen Effekt
Evtl. musst Du die Negation etwas einschränken.
|
frei2003
(Themenstarter)
Anmeldungsdatum: 14. November 2008
Beiträge: 36
|
Aber damit kann ich ja nur den Zugriff auf eth0 einschränken. Ich möchte aber angeben, dass paul und nur er statt auf eth0 auf eth1 zugreift!
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13938
|
frei2003 schrieb: Aber damit kann ich ja nur den Zugriff auf eth0 einschränken. Ich möchte aber angeben, dass paul und nur er statt auf eth0 auf eth1 zugreift!
Das mit "-m owner --uid-owner" ist ja auch als Beispiel zu verstehen. Evtl. musst Du auch eine andere iptables-chain benutzen bzw. die Interfaces nicht nur als output- sondern auch als input-NIC. Mehr kann ich nicht helfen, da ich aus deinem 1. Beitrag nicht verstehe was Du erreichen willst.
|
elektronenblitz63
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
Hallo, dann zeige doch bitte mal die vollständige Netzwerkkonfiguration des gerade angemeldeten Benutzers und beschreibe was dieser im speziellen darf und was nicht.
ifconfig -a
route -n
cat /etc/resolv.conf
Möglicherweise ist das Standardgateway auf der gesperrten Route (eth0) und fehlt für eth1.
|
frei2003
(Themenstarter)
Anmeldungsdatum: 14. November 2008
Beiträge: 36
|
elektronenblitz63 schrieb: Hallo, dann zeige doch bitte mal die vollständige Netzwerkkonfiguration des gerade angemeldeten Benutzers und beschreibe was dieser im speziellen darf und was nicht.
ifconfig -a
route -n
cat /etc/resolv.conf
Möglicherweise ist das Standardgateway auf der gesperrten Route (eth0) und fehlt für eth1.
Ja natürlich ist das so. Deshalb frage ich ja, wie ich das einrichten soll, nur blockieren reicht ja nicht. Ich möchte dass User1 immer eth1 verwendet, alle anderen immer eth0. Kannst du bitte den Titel wieder ändern? „Bestimmte Netwerkverbindungen für einzelne User blockieren“ ist zu kurz gefasst. Danke.
|
frei2003
(Themenstarter)
Anmeldungsdatum: 14. November 2008
Beiträge: 36
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
$ ifconfig -a
eth0 Link encap:Ethernet Hardware Adresse xxxxxxxxxxxxxx
inet Adresse:10.3.9.119 Bcast:10.3.9.255 Maske:255.255.255.112
...............
eth1 Link encap:Ethernet Hardware Adresse xxxxxxxxxxxxxxxx
inet Adresse:10.0.0.1 Bcast:10.0.0.255 Maske:255.255.255.0
...............
lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
...............
$ route -n
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
0.0.0.0 10.3.9.241 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
10.3.9.112 0.0.0.0 255.255.255.112 U 1 0 0 eth0
$ cat /etc/resolv.conf
nameserver 127.0.0.1
|
|
elektronenblitz63
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
elektronenblitz63 schrieb: Möglicherweise ist das Standardgateway auf der gesperrten Route (eth0) und fehlt für eth1.
Genau so ist es.
0.0.0.0 10.3.9.241 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
10.3.9.112 0.0.0.0 255.255.255.112 U 1 0 0 eth0 Du musst zumindest diese Route zum Gateway für eth0 entfernen. Zusätzlich könnte man noch die Priorität für das 10.3.9.112 Netzwerk herabsetzen.
sudo route del default gw 10.3.9.241 eth0
sudo route del -net 10.3.9.112 netmask 255.255.255.112 metric 0 dev eth0
sudo route add -net 10.3.9.112 netmask 255.255.255.112 metric 10 dev eth0
Wenn ein GW oder anderer Zielrechner mit statischer IP im 10.0.0.0 Netzwerk vorhanden ist, dann kannst Diesen als GW für eth1 eintragen:
sudo route add default gw 10.0.0.xxx metric 0 dev eth0
|
frei2003
(Themenstarter)
Anmeldungsdatum: 14. November 2008
Beiträge: 36
|
aber wenn ich die Route zum Default-GW von eth0 entferne, funktionieren die Verbindungen über eth0 doch nicht mehr, ich möchte ja nur, dass der User paul über eth1 geht, alles andere soll weiterhin über eth0 gehen.
|