Acties:
  • 0 Henk 'm!

  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 18:50
Ik heb hier een Ubuntu 14 server staan met twee fysieke NICs erin. Configuratie van beide NICs zien er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
# The loopback network interface
auto lo
iface lo inet loopback

# naar UPC modem
auto eth0
iface eth0 inet dhcp

# naar switch
auto p1p1
iface p1p1 inet static
address 192.168.1.1
netmask 255.255.255.0


Ik gebruik deze server om het internet te routeren naar de andere clients die binnen het netwerk draaien. Op de server draait dus ook een dhcp server die ipadressen uitdeelt. Het iptables script dat ik gebruik wordt tijdens het starten van de server gezet en ziet er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
# p1p1 = internal NIC
# eth0 = WAN NIC
lan_nic=p1p1
wan_nic=eth0

echo "Clear old firewall rules..."
iptables --flush
iptables --flush FORWARD
iptables --flush INPUT
iptables --flush OUTPUT
iptables --table nat --flush
iptables --table nat --delete-chain
iptables --table mangle --flush
iptables --table mangle --delete-chain
iptables --delete-chain

echo "Drop all INPUT and FORWARD..."
iptables -P INPUT DROP
iptables -P FORWARD DROP

echo "Drop all IPv6 traffic..."
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP

echo "Accept everything on lo (local network)..."
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT

echo "Accept everything on ${lan_nic}..."
iptables -A INPUT -i $lan_nic -p all -j ACCEPT -s 192.168.1.0/24
iptables -A OUTPUT -o $lan_nic -p all -j ACCEPT -d 192.168.1.0/24

echo "IP Forwarding and Routing for gateway use..."
iptables -A FORWARD -o $wan_nic -i $lan_nic -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o $wan_nic -j MASQUERADE

echo "Maintain established connections..."
iptables -A INPUT --in-interface $wan_nic --match conntrack --ctstate ESTABLISHED,RELATED --jump ACCEPT

Dit werkt allemaal perfect en wil ik een stapje verder: experimenteren met KVM. Na installatie van de packages ben ik op het punt beland dat ik een bridge interface wil maken. Hier kom ik echter niet uit. Wat ik ook probeer, de verbonden clients krijgen plotseling geen internet meer, dus ik zal wel iets verkeerd doen in de configuratie van de bridge. :) Ik probeer deze manual te volgen. In mijn geval wil ik een bridge op p1p1, welke een statisch ip heeft, dus heb ik het volgende aangepast in m'n /etc/network/interfaces:

code:
1
2
3
4
5
6
7
8
9
10
11
auto p1p1
iface p1p1 inet manual

auto br0
iface br0 inet static
  address 192.168.1.1
  netmask 255.255.255.0
  bridge_ports p1p1
  bridge_stp off
  bridge_fd 0
  bridge_maxwait 0


Na een herstart verschijnt de interface, maar de clients hebben plotseling geen internet meer. Ook kunnen de clients niet meer connecten naar 192.168.1.1 via ssh, dus er is iets goed mis. Als ik een `ifconfig` doe op de server, dan zie ik netjes een nieuwe interface, dus ik snap niet echt waar het probleem zit. Kan iemand hier mij een duw in de juiste richting geven? Ik ben nu een beetje lost... weet niet waar ik moet zoeken naar een eventuele oplossing.

[ Voor 3% gewijzigd door smeerbartje op 25-05-2015 13:40 ]


Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 10:04

CAPSLOCK2000

zie teletekst pagina 888

Kun je vanaf de host wel nog connecten met 192.168.1.1 ?
Als je "brctl show br0" doet zou je de virtuele nics van de clients moeten zien. Zie je die?
Kun je de het stukje met de netwerkconfiguratie van een VM posten?
Dit stukje dus:
code:
1
2
3
4
  <interface type='bridge'>
      <mac address='00:11:22:33:44:55'/>
      <source bridge='br0'/>
    </interface>

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:04

Hero of Time

Moderator LNX

There is only one Legend

Als je een bridge maakt, moet je uiteraard wel je iptables regels hierop aanpassen. Nu heb je nog lan_nic staan op p1p1, niet br0. Pas 't eens aan, kijk hoe dat werkt. Ik vermoed namelijk dat je firewall in de weg zit, vanwege de 'block all' regel aan 't einde voor alle mismatch rules.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 18:50
Thanks allebei, ik ga het even proberen. Nog een laatste vraag wat betreft de DHCP server die ook op de server draait. Deze bind ik nu aan p1p, maar moet dat dan ook br0 worden?

/etc/default/isc-dhcp-server
code:
1
2
3
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#   Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="p1p1"

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:04

Hero of Time

Moderator LNX

There is only one Legend

Dat lijkt mij wel zo handig, anders stuur je alles uit je fysieke NIC en krijgen je VMs die gebruik maken van br0 geen adres. ;)

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 18:50
Ok :). Ik ga nu een poging doen... hopen dat het allemaal lukt. Zo niet, dan meld ik me wel weer ;).

[update]
Wow, het werkt volgens mij ook nog! M'n lokale clients (dus de andere computers hier in het netwerk) die van de server een ip krijgen, krijgen nog steeds een ip. Een ifconfig op de server geeft mij onderstaand overzicht. Ik ga nu even proberen om een VM aan maken in bridged modus... fingers crossed :).

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
&#10003; [server][~] ifconfig
br0       Link encap:Ethernet  HWaddr 68:05:ca:2a:f0:66
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6a05:caff:fe2a:f066/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:686 errors:0 dropped:0 overruns:0 frame:0
          TX packets:203 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:127865 (127.8 KB)  TX bytes:43930 (43.9 KB)

eth0      Link encap:Ethernet  HWaddr d0:50:99:32:d5:f0
          inet addr:x.x.x.x  Bcast:255.255.255.255  Mask:255.255.255.0
          inet6 addr: fe80::d250:99ff:fe32:d5f0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1040 errors:0 dropped:0 overruns:0 frame:0
          TX packets:229 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:145802 (145.8 KB)  TX bytes:41674 (41.6 KB)
          Interrupt:20 Memory:f0500000-f0520000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4164 (4.1 KB)  TX bytes:4164 (4.1 KB)

p1p1      Link encap:Ethernet  HWaddr 68:05:ca:2a:f0:66
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:686 errors:0 dropped:0 overruns:0 frame:0
          TX packets:203 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:140249 (140.2 KB)  TX bytes:45012 (45.0 KB)
          Interrupt:16 Memory:f04c0000-f04e0000

virbr0    Link encap:Ethernet  HWaddr d6:31:6f:2e:11:1c
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

[ Voor 92% gewijzigd door smeerbartje op 03-06-2015 20:33 ]


Acties:
  • 0 Henk 'm!

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

de bridge zelf mag normaal geen ip krijgen.
Je kan dan virtual interfaces aanmaken om ze te connecteren.

1 mogelijkheid met veth:
code:
1
2
ip link add internal type veth peer name external
brctl addif br0 external


Je kan ook kijken naar 'type macvlan' of 'type dummy'.

ASSUME makes an ASS out of U and ME


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:04

Hero of Time

Moderator LNX

There is only one Legend

H!GHGuY schreef op donderdag 04 juni 2015 @ 12:30:
de bridge zelf mag normaal geen ip krijgen.
Je kan dan virtual interfaces aanmaken om ze te connecteren.

1 mogelijkheid met veth:
code:
1
2
ip link add internal type veth peer name external
brctl addif br0 external


Je kan ook kijken naar 'type macvlan' of 'type dummy'.
Wat bedoel je daarmee, bridge mag geen IP krijgen? Je geeft je bridge juist een IP om te zorgen dat de clients je server nog kunnen benaderen. Het is z'n gateway, hoe zou je het internet op moeten komen als je gateway geen IP adres heeft? Een adres zet je niet op de fysieke interface iig, of de virtuele.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Hmm, blijkbaar mag het toch. Misschien gebruik ik het dan in een specifieke situatie waar je het liever niet wil.

Los daarvan zou ik toch eens kijken naar macvlan mode. Zie ook
http://www.pocketnix.org/...and%20Virtual%20Ethernets

ASSUME makes an ASS out of U and ME


Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 20:36

Blokker_1999

Full steam ahead

Alles hangt af van het gebruik natuurlijk, maar ook bij mij heeft de brug netjes een eigen IP adres ( http://pastebin.com/NjVZV2Ss ) en werkt deze samen met KVM.

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 10:04

CAPSLOCK2000

zie teletekst pagina 888

Een bridge kan inderdaad gewoon een IP-adres hebben.
Interfaces die in zo'n bridge zitten niet. Misschien ben je daar door in de war geraakt.
In dit geval heeft p1p1 dus geen IP-adres.

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 18:50
Precies; en het werkt allemaal top! Thanks voor jullie advies.

Acties:
  • 0 Henk 'm!

  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 18:50
Even een relatief oud topic nieuw leven inblazen :). M'n virtuele machines krijgen inmiddels netjes van de dhcp server die op de host draait (192.168.1.1) via de bridged adapter een ip adres. Zo heeft m'n virtuele linux test-servertje ip adres 192.168.1.58 gekregen. Dit zie ik ook terug in de logging op de host:

code:
1
Jun 17 20:32:33 server dhcpd: DHCPREQUEST for 192.168.1.58 from 52:54:00:5c:14:7a (system.domain.lan) via br0


Alleen nu wil ik vanaf een andere computer in het netwerk via ssh een verbinding maken met deze virtuele machine. Dit lukt niet. Op de één of andere manier komen de pakketjes niet aan. M'n iptables rules staan hierboven vermeld. Ik zie ook geen dropped package gelogd worden als ik naar 192.168.1.58 connect via ssh. Waar kan ik nu nog meer zoeken?

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:04

Hero of Time

Moderator LNX

There is only one Legend

Werkt een ping naar die machine? Wat krijg je van ssh -vvv? Komt er op de VM wel een verbinding binnen, te vinden in een van de logs in /var/log? Wat zie je gebeuren met een tcpdump van de PC, VM en server?

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 18:50
Dank voor je suggesties; ik heb even e.e.a. uitgezocht. Aan de ene kant werkt het wel, maar aan de andere kant werkt niet het.

Wat werkt wel?
Verkeer vanuit de host machine (mijn server waarop KVM draait) naar de guest machine. Of dit nu ping, ssh of http verkeer is; alles werkt perfect

... en wat werkt niet?
Verkeer van de andere machines vanuit het netwerk naar de virtuele machines. Pingen naar de machine werkt NIET, timeout. SSHen met maximum verbose geeft het volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
[iMac][~] ssh -vvv 192.168.1.56
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/smeerbartje/.ssh/config
debug1: /Users/smeerbartje/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.56 [192.168.1.56] port 22.
debug1: connect to address 192.168.1.56 port 22: Operation timed out
ssh: connect to host 192.168.1.56 port 22: Operation timed out


Ook werkt het niet vanuit een ANDERE virtuele machine. Dit gedrag is hetzelfde als de niet virtuele machines in het netwerk.

[ Voor 5% gewijzigd door smeerbartje op 19-06-2015 20:39 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:04

Hero of Time

Moderator LNX

There is only one Legend

Dan moet je toch echt naar je iptables gaan kijken, want blijkbaar wordt er daar het een en ander tegen gehouden. Daarom ook een tcpdump draaien op de verschillende systemen, van je server zal je denk het meeste zien.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 18:50
Hero of Time schreef op vrijdag 19 juni 2015 @ 20:39:
Dan moet je toch echt naar je iptables gaan kijken, want blijkbaar wordt er daar het een en ander tegen gehouden. Daarom ook een tcpdump draaien op de verschillende systemen, van je server zal je denk het meeste zien.
Als ik een "sudo tcpdump -vvv -i br0 | grep '192.168.1.56'" op de server uitvoer en ik probeer te pingen vanuit een machine waarvan het NIET werkt, dan zie ik het volgende:

code:
1
2
3
4
5
6
7
8
9
tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 65535 bytes
20:45:38.301548 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.56 tell 192.168.1.31, length 46
20:45:38.301812 ARP, Ethernet (len 6), IPv4 (len 4), Reply 192.168.1.56 is-at 52:54:00:c5:27:10 (oui Unknown), length 28
    192.168.1.31 > 192.168.1.56: ICMP echo request, id 29992, seq 0, length 64
    192.168.1.31 > 192.168.1.56: ICMP echo request, id 29992, seq 1, length 64
    192.168.1.31 > 192.168.1.56: ICMP echo request, id 29992, seq 2, length 64
    192.168.1.31 > 192.168.1.56: ICMP echo request, id 29992, seq 3, length 64
    192.168.1.31 > 192.168.1.56: ICMP echo request, id 29992, seq 4, length 64
    192.168.1.31 > 192.168.1.56: ICMP echo request, id 29992, seq 5, length 64


Ik weet nu even niet wat dit betekent. Zou je me in de goede richting kunnen duwen? De packets komen dus wel aan op de server, maar worden ze nu geblocked door m'n setje firewalls? (die overigens in de openingspost staan)

[ Voor 4% gewijzigd door smeerbartje op 19-06-2015 20:47 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:04

Hero of Time

Moderator LNX

There is only one Legend

Wat je hier aan ziet, is dat de ping wel binnen komt, maar er geen antwoord wordt gestuurd. Oftewel, het wordt stilletjes gedropped, danwel niet geforward naar de bestemming. Je hebt INPUT en OUTPUT, maar geen FORWARD rules voor je bridge interface. Ik ben geen held in iptables, dus je zal het een en ander moeten zoeken en testen.

Commandline FTW | Tweakt met mate

Pagina: 1