I have two servers running Ubuntu 14.04.3 LTS and both have two network интерфейсы configured using /etc/network/interfaces
since I do not использовал NetworkManager.
Server1 is connected to the Интернет on network интерфейс 1, while network интерфейс 2 is used to connect to Server2. I хан do SSH from Server1 to Server2 without any issues. However, Server2 is not connected to the Интернет.
How хан I share Server1/interface1's Интернет connection with Server2/interface2?
/etc/network/interfaces
looks like below;
# The loopback network interface
auto lo
iface lo inet loopback
auto em1
allow-hotplug em1
iface em1 inet static
address 192.168.1.70
netmask 255.255.255.0
gateway 192.168.1.1
auto em2
allow-hotplug em2
iface em2 inet static
address 192.168.2.72
netmask 255.255.255.0
Edit In response to the comments: "Интернет"-> srv1/int1 srv1/int2 <-> srv2/int2
where "Интернет" is в single ethernet socket which is connected to the router, which is in another room. гm planning to buy в router, but for the moment I need an interim solution to connect srv2 to the Интернет (to allow installing/updating packages).
Установка Server1
Настройте iptables для трансляции NAT так, чтобы пакеты могли быть правильно направлены через Server1:
sudo iptables -A FORWARD -o em1 -i em2 -s 192.168.2.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE
Сохраните новый, добавили правила iptables:
sudo iptables-save | sudo tee /etc/iptables.sav
и добавьте следующую строку перед "exit 0"
в /etc/rc.local
:
iptables-restore < /etc/iptables.sav
Настройте Server1 для маршрутизации между двумя интерфейсами путем включения передачи IP:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Открытый /etc/sysctl.conf
и некомментарий:
net.ipv4.ip_forward=1
Установка Server2
em1 является сетевой платой на Server2, который соединен (перекрестным кабелем) к em2 на Server1. Любой IP-адрес может быть установлен для em1 в Server2, пока он соответствует подсети (192.168.2.0/24) em2 в Server1, например: 192.168.2.100
Прекратите объединяться в сеть
sudo /etc/init.d/networking stop
Добавьте шлюз по умолчанию для em1 в /etc/network/interfaces
:
auto em1
iface em1 inet static
address 192.168.2.100
netmask 255.255.255.0
gateway 192.168.2.72
Этот адрес должен соответствовать IP-адресу em2 в Server1.
Редактирование/etc/dhcp/dhclient.conf:
prepend domain-name-servers 8.8.8.8,8.8.4.4;
8.8.8.8 и 8.8.4.4 Google DNS. Если Вы хотите использовать серверы DNS своего ISP, просто замените их.
Сети перезапуска
sudo /etc/init.d/networking restart
Теперь Server2 нужно совместно использовать интернет-соединение от Server1.