Jest tak:
są dwie podsieci
10.1.1.0/24 i 10.1.2.0/24
eth0 na adres 10.1.1.1/24
eth1 na adres 10.1.2.1/24
bram ma adres 10.1.1.1
i jest jedna grupa robocza
Kontrolerem domeny jest SAMBA na NND, który pełni funkcję rutera.
DHCP przydziela adresy dynamicznie w obu podsieciach
i pięknie rutuje, ale maszyny w2k udostępniające w podsieciach wzajemnie widzą swoje udziały w otoczeniu sieciowym.
Niestety dostęp do udziałów w podsieci innej, niż ta w której znajduje się maszyna jest możliwy jedynie metodą wyszukiwania jej w eksploratorze po jej adresie IP.
Zgodnie z zapisem w /etc/conf.d/bridges oraz literaturą stawiam BRIDGE pomiędzy eth0 i eth1
# /etc/cond.bridges
# Settings for layer-2 bridges
#
# For each bridge interface declared in INTERFACES (in rc.conf), declare
# a bridge_${IF} variable that contains the real ethernet interfaces that
# should be bridged togeether.
#
# Then list the bridge interface name in the BRIDGE_INTERFACES array.
#
# example:
#
# in /etc/rc.conf:
# eth0="eth0 up"
# eth1="eth1 up"
# br0="br0 10.1.1.1 netmask 255.255.255.0 up"
# INTERFACES=(lo eth0 eth1 br0)
#
# in /etc/conf.d/bridges
# bridge_br0="eth0 eth1"
# BRIDGE_INTERFACES=(br0)
#
bridge_br0="eth0 eth1"
BRIDGE_INTERFACES=(br0)
Na bazie informacji w Internecie piszę skrypt i dopisuje go do /etc/rc.d/rc.local
#!/bin/sh
#
# Podnie.my karty sieciowe.
# Oczywiście tych kart sieciowych może być więcej lub mniej (czyli dwie).
# Jeżeli ten skrypt jest już wywoływany po zainicjowaniu sieci (np. z
# rc.local) należy dopisać po każdym 'up' adres '0.0.0.0'
#
/sbin/ifconfig eth0 up 0.0.0.0
/sbin/ifconfig eth1 up 0.0.0.0
# Po usunieciu przypisanych IP z interfejsow przestawiamy karty w tryb
# pozwalajacy odbor pakietow nie tylko do nich skierowanych.
/sbin/ifconfig eth0 promisc up
/sbin/ifconfig eth1 promisc up
#
# Jeżeli mamy wkompilowaną obsługę bridge'a na stałe, możemy zahashować
# następnš linijkę. W przeciwnym wypadku należy załadować moduł bridge.
#
/sbin/modprobe bridge
# Utwórzmy bridge o nazwie 'br0'.
#
/usr/sbin/brctl addbr br0
# Dodajmy do bridge'a br0 karty sieciowe
#
/usr/sbin/brctl stp br0 on
/usr/sbin/brctl setfd br0 0
/usr/sbin/brctl addif br0 eth0
/usr/sbin/brctl addif br0 eth1
# podnosimy most bez IP co chroni go przed hakowaniem poprzez TCP/IP
# nietety taki most nie dziala u mnie
# /sbin/ifconfig br0 up
#
# Teraz przydzielmy bridge'owi adres ip, żeby.my mogli używać serwera
# do normalnych celów
# przyjalem adres eth0, gdyz na innym adresie trtacilem routing dla podsieci 10.1.1.0
/sbin/ifconfig br0 up 10.1.1.1 netmask 255.255.255.0
# Sprawdzenie tego czy jest most
/usr/sbin/brctl show
/usr/sbin/brctl showmacs br0
/usr/sbin/brctl showstp br0
po restarcie otrzymuję:
bridge name bridge id STP enabled interfaces
br0 8000.000244928ef1 yes eth0
eth1
port no mac addr is local? ageing timer
1 00:02:44:92:8e:f1 yes 0.00
2 00:a0:24:8e:b9:b9 yes 0.00
br0
bridge id 8000.000244928ef1
designated root 8000.000244928ef1
root port 0 path cost 0
max age 20.00 bridge max age 20.00
hello time 2.00 bridge hello time 2.00
forward delay 0.00 bridge forward delay 0.00
ageing time 300.00
hello timer 0.07 tcn timer 0.00
topology change timer 0.05 gc timer 0.07
flags TOPOLOGY_CHANGE TOPOLOGY_CHANGE_DETECTED
eth0 (1)
port id 8001 state forwarding
designated root 8000.000244928ef1 path cost 100
designated bridge 8000.000244928ef1 message age timer 0.00
designated port 8001 forward delay timer 0.00
designated cost 0 hold timer 0.00
flags
eth1 (2)
port id 8002 state forwarding
designated root 8000.000244928ef1 path cost 100
designated bridge 8000.000244928ef1 message age timer 0.00
designated port 8002 forward delay timer 0.00
designated cost 0 hold timer 0.00
flags
a ifconfig zwraca mi następujący komunikat:
br0 Link encap:Ethernet HWaddr 00:02:44:92:8E:F1
inet addr:10.1.1.1 Bcast:10.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8833 errors:0 dropped:0 overruns:0 frame:0
TX packets:8846 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1401348 (1.3 Mb) TX bytes:3941110 (3.7 Mb)
eth0 Link encap:Ethernet HWaddr 00:02:44:92:8E:F1
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:18316 errors:0 dropped:0 overruns:0 frame:0
TX packets:19653 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3097107 (2.9 Mb) TX bytes:8060088 (7.6 Mb)
Interrupt:11 Base address:0xd000
eth1 Link encap:Ethernet HWaddr 00:A0:24:8E:B9:B9
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:639 errors:0 dropped:0 overruns:0 frame:0
TX packets:1851 errors:0 dropped:0 overruns:0 carrier:0
collisions:5 txqueuelen:1000
RX bytes:79336 (77.4 Kb) TX bytes:535147 (522.6 Kb)
Interrupt:3 Base address:0x300
eth2 Link encap:Ethernet HWaddr 00:60:4C:6C:81:51
UP BROADCAST RUNNING MULTICAST MTU:65535 Metric:1
RX packets:15012 errors:0 dropped:0 overruns:0 frame:0
TX packets:16531 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7361646 (7.0 Mb) TX bytes:3138304 (2.9 Mb)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4263 errors:0 dropped:0 overruns:0 frame:0
TX packets:4263 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:343556 (335.5 Kb) TX bytes:343556 (335.5 Kb)
ppp0 Link encap:Point-to-Point Protocol
inet addr:79.186.30.175 P-t-P:213.25.2.68 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:15008 errors:0 dropped:0 overruns:0 frame:0
TX packets:16552 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:7331560 (6.9 Mb) TX bytes:2809737 (2.6 Mb)
ra0 Link encap:Ethernet HWaddr 00:0E:E8:E1:ED:D8
inet addr:10.1.3.1 Bcast:10.1.3.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:492 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:100386 (98.0 Kb)
Interrupt:10
Po postawieniu mostu utraciłem routing w podsieci 10.1.2.0 a komputery tylko w podsieciach mają dostęp do udziałów, ale utraciły dostęp do udziałów na routerze (10.1.1.1/24), który opuścił otoczenie sieciowe, ale jest dostępny po IP w eksploratorze windows.
Żeby było ciekawiej, to ręcznie zmieniam adresy w komputerach na eth1 z puli 10.1.2.0 na pulę 10.1.1.0 , która jest wyłączona z dynamicznego adresowania, ale objeta maskaradą i wszystkie komputery maja dostęp do internetu, oraz do udostępnionych zasobów obu podsieci.
Niestety to rozwiązanie sprawia problem serwerowi DHCP, gdyż nie potrafię go zmusić do tego, by przydzielal mi adresy z puli 10.1.1.0 (maszyny na eth0) dla komputerów fizycznie podłączonych do eth1.
Jeśli ktoś ma pomysł na rozwiązanie tego problemu, to będę wdzięczny za pomoc, bo już sam nie wiem co jest grane.