Routing na linuxie

Instalacja i konfiguracja oprogramowania sieciowego.
kurtys
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 14 cze 2015, 19:58
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Routing na linuxie

Post autor: kurtys »

Witam,
Mam problem ze stworzeniem wirtualnej sieci przy użyciu VirtualBoxa. Tworzę 3 maszyny wirtualne. Jedna służy jako router, a dwie pozostałe podpięte są do różnych interfejsów w różne intranety. Skonfigurowałem routing w maszynach podłączonych do routera i on też po użyciu ip route wypisuje poprawnie podłaczone do niego sieci. Router ma włączony ipforwarding. Tu zaczyna się problem. Z maszyn (nazwijmy je dla przykładu A i B - A połączone z eth1 a B z eth2) mogę pingować oba interfejsy routera ale nie drugie maszyny. tcpdump ustawiony na eth1 wyłapuje ruch przy pingowaniu z maszyny A interfejsu eth1 i eth2. Z drugiej strony działa to tak samo tylko dla maszyny B i tcpdump na interfejsie eth2. Gdy stawiam tcpdump na eth2 i pinguję go z maszyny A to maszyna A dostaje odpowiedź a tcpdump nie widzi żadnego ruchu. Nie wysyła także danych dalej w sieć do maszyny B. Czy ktoś ma może jakiś pomysł co może być przyczyną i jak to naprawić? Załączam skrypt, który napisałem tworząc powyższą konfigurację.

Moja konfiguracja to trzy maszyny wirtualne. Dwie połączone siecią intranet z różnymi interfejsami trzeciej służącej za trasownik.
Trasownik jest także połączony z siecią zewnętrzną połączeniem mostkowym.Trasownik jest urządzeniem obsługującym system operacyjny
Linux, a pozostałe dwie maszyny to FreeBSD.

1. Pobranie plików instalacyjnych do systemów, z których będę korzystał dla VirtualBoxa

2. Instalacja VirtualBoxa
sudo apt-get install virtualbox

3. Umożliwienie sobie korzystania z pendrive na ubuntu
sudo fdisk -l
sudo mkdir /media/usb
sudo mount /dev/sdb1 /media/usb

4. Umożliwienie połączenia typu bridge na maszynie hostującej:
sudo apt-get install bridge-utils
sudo invoke-rc.d networking stop
sudo nano /etc/network/interfaces

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
ctrl+o
ctrl+x

sudo /etc/init.d/networking restart

5. Postawienie maszyny wirtualnej korzystającej z Ubuntu 15.04 mającej służyć jako trasownik

vboxmanage createhd --filename UbuntuDrive.vdi --size 4095
vboxmanage createvm --name Ubuntu --ostype Ubuntu_64 --register
vboxmanage storagectl Ubuntu --name "SATA Controller" --add sata --controller IntelAHCI
vboxmanage storageattach Ubuntu --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium UbuntuDrive.vdi
vboxmanage storagectl Ubuntu --name IDE --add ide
vboxmanage storageattach Ubuntu --storagectl IDE --port 0 --device 0 --type dvddrive --medium "ubuntu-15.04-desktop-amd64.iso"
vboxmanage modifyvm Ubuntu --memory 512
VBoxManage modifyvm Ubuntu --nic1 bridged
VBoxManage modifyvm Ubuntu --nicpromisc1 allow-all
VBoxManage modifyvm Ubuntu --bridgeadapter1 br0
VBoxManage modifyvm Ubuntu --nic2 intnet
VBoxManage modifyvm Ubuntu --intnet2 "IntNetOne"
VBoxManage modifyvm Ubuntu --nic3 intnet
VBoxManage modifyvm Ubuntu --intnet3 "IntNetTwo"

6. Postawienie maszyny wirtualnej korzystającej z FreeBSD (A)

vboxmanage createhd --filename BSDADrive.vdi --size 2048
vboxmanage createvm --name FreeBSDA --ostype FreeBSD_64 --register
vboxmanage storagectl FreeBSDA --name "SATA Controller" --add sata --controller IntelAHCI
vboxmanage storageattach FreeBSDA --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium BSDADrive.vdi
vboxmanage storagectl FreeBSDA --name IDE --add ide
vboxmanage storageattach FreeBSDA --storagectl IDE --port 0 --device 0 --type dvddrive --medium "FreeBSD-10.1-RELEASE-amd64-disc1.iso"
vboxmanage modifyvm FreeBSDA --memory 256
VBoxManage modifyvm FreeBSDA --nic1 intnet
VBoxManage modifyvm FreeBSDA --intnet1 "IntNetOne"

7. Postawienie maszyny wirtualnej korzystającej z FreeBSD (B)

vboxmanage createhd --filename BSDBDrive.vdi --size 2048
vboxmanage createvm --name FreeBSDB --ostype FreeBSD_64 --register
vboxmanage storagectl FreeBSDB --name "SATA Controller" --add sata --controller IntelAHCI
vboxmanage storageattach FreeBSDB --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium BSDBDrive.vdi
vboxmanage storagectl FreeBSDB --name IDE --add ide
vboxmanage storageattach FreeBSDB --storagectl IDE --port 0 --device 0 --type dvddrive --medium "FreeBSD-10.1-RELEASE-amd64-disc1.iso"
vboxmanage modifyvm FreeBSDB --memory 256
VBoxManage modifyvm FreeBSDB --nic1 intnet
VBoxManage modifyvm FreeBSDB --intnet1 "IntNetTwo"

8. Instalacja systemów operacyjnych na postawionych maszynach wirtualnych


9. Nadanie IP systemom:
a) Ubuntu:
sudo ifconfig eth0 10.146.255.3 netmask 255.255.255.0
sudo ifconfig eth1 192.168.2.1 netmask 255.255.255.0
sudo ifconfig eth2 192.168.3.1 netmask 255.255.255.0
b) FreeBSDA:
ifconfig em0 inet 192.168.2.2 netmask 255.255.255.0
c) FreeBSDB:
ifconfig em0 inet 192.168.3.2 netmask 255.255.255.0

10. Implementacja Ubuntu jako trasownika:

sudo nano /etc/sysctl.conf
zmienić linjkę ipforwarding
ctrl+o
ctrl+x
sudo /etc/init.d/networking restart

11. Zmiana tablic trasowania w maszynach wirtualnych:
route add 192.168.3.0/24 192.168.2.1 (maszyna FreeBSDA)
route add 192.168.2.0/24 192.168.3.1 (maszyna FreeBSDB)


12. Pingowanie się wzajemnie i pingowanie sieci zewnętrznej oraz użycie tcpdump w celu wykazania działających połączeń.
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 21 gości