Лаба 1
Дано:
Хост машина Ubuntu (Server) и на ней две гостевые Centos (Server0 и Server1).
Хост имеет два сетевых интерфейса: vboxnet0 и vboxnet1
Server0 и Server1 имеют настройки сети в VirtualBox: тип подключения «Виртуальный адаптер хоста». Имена, указанные для подключений «vnetbox0» и «vnetbox1» соответственно для каждой гостевой машины.
Задача: Server0 и Server1 должны общаться друг с другом по сети.
Servervboxnet0: 10.0.0.1/24
vboxnet1: 192.168.56.1/24
Server0 ip: 10.0.0.2ip addr add 10.0.0.2/24 dev enp0s3
ip route add default via 10.0.0.1
Server1 ip: 192.168.56.2ip addr add 192.168.56.2 dev enp0s3
ip route add default via 192.168.56.1
На хосте включаем ip_forward:
Поскольку после перезагрузки такое не сохраняется:
sysctl -w net.ipv4.ip_forward=1
то сделаем так:
echo «net.ipv4.ip_forward=1» >> /etc/sysctl.conf
Применяем записанный параметр:
sysctl -p /etc/sysctl.conf
На хосте прописываем правила:
sudo iptables -t nat -A POSTROUTING -o vboxnet0 -j MASQUERADE sudo iptables -A FORWARD -i vboxnet0 -o vboxnet1 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i vboxnet1 -o vboxnet0 -j ACCEPT sudo iptables -t nat -A POSTROUTING -o vboxnet1 -j MASQUERADE sudo iptables -A FORWARD -i vboxnet1 -o vboxnet0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i vboxnet0 -o vboxnet1 -j ACCEPT
Лаба 2:
Дано: три гостевые, между ними построена «Внутренняя Сеть».
Задача та же: чтобы машинки общались друг с другом по сети.
Всё то же самое
Server0:
ip addr add 10.0.0.2/24 dev enp0s3
ip route add default via 10.0.0.1
Server1:
ip addr add 192.168.0.2/24 dev enp0s3
ip route add default via 192.168.0.1
Включаем ip_forward на Server:
sysctl -w net.ipv4.ip_forward=1
и добавляем правила в iptables:
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Осталось понять, в чем принципиальная разница между решениями в iptables первой и второй лабы))