Моя установка существующей системы является Рабочим столом Ubuntu 14.04 64 бита, и я использую Интернет от маршрутизатора с помощью общедоступного IP
eth0 - WAN Public IP 182.x.x.x
eth1 - LAN private IP 192.168.0.1
Теперь я хочу распределить это соединение с другими компьютерами с помощью моей системы в качестве a Gateway
, Мой системный IP 192.168.0.1
и другие компьютеры в сети используют статический IP 192.168.0.2
и 192.168.0.255
как static
и/или DHCP
.
Также я хочу установить брандмауэр в своей системе так, чтобы я мог контролировать и трафик управления другой системы в сети.
Открывают Terminal Ctrl + Высокий звук + T
Вводит следующую команду для редактирования interfaces
файл:
sudo vim /etc/network/interfaces
Редактирование файл со следующими строками: (добавьте Ваш netmask
и gateway
)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 182.x.x.x
netmask x.x.x.x
gateway x.x.x.x
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask x.x.x.x
Теперь редактирование /etc/sysctl.conf
и некомментарий:
# net.ipv4.ip_forward=1
так, чтобы это читало:
net.ipv4.ip_forward=1
и сохраняют его путем ввода
sudo sysctl -p /etc/sysctl.conf
Для включения подмены IP, вводят следующий набор команд в терминале:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Обновление: Зафиксируйте странный "-†команда порождения “состояния", чтобы привести к сбою и прикрепить туземную ПОДМЕНУ к eth0 (интерфейс глобальной сети)
комментарий @chreekat корректен, что адаптеры Ethernet подкачиваются на шаге 5 ответа @Anbu, и как показано (с 21.02.2017) создает ОГРОМНУЮ ДЫРУ В СИСТЕМЕ БЕЗОПАСНОСТИ, которая разрешает неограниченный доступ к частной сети любым в сети общего пользования.
исправленную конфигурацию для шага 5 показывают ниже.
Теория операции: Пакеты (Правила № 2) ingressing от сети общего пользования (eth0) приняты для передачи частной сети (eth1), если и только если ingressing общедоступный пакет связан с разговором, который был установлен хостом на частной сети. (Правило № 3) Принимает все пакеты ingressing от частной сети (eth1) и передает им сети общего пользования (eth0).
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Это - то, что я использую, работы хорошо всегда. Комбинация различных учебных руководств. Протестированный на Ubuntu 16.04LTS также.
Шаг A - Удостоверяется, что ufw установлен
sudo apt-get install ufw
, Шаг B - Настраивает Ваши сетевые интерфейсы .
sudo nano /etc/network/interfaces
Настраивают интерфейсы файл, чтобы быть чем-то вроде этого ниже:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The WAN primary network interface
iface eth0 inet static
address 182.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
#LAN side interface
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
address 192.168.0.1
Сохранили файл путем выбора CTRL-X из нано или любого другого редактора, которого Вы предпочитаете.
Шаг C - Позволяют IP Вперед . Установите передачу. Редактирование файл /etc/sysctl.conf
sudo nano /etc/sysctl.conf
Удаляет комментарий к этой строке # net.ipv4.ip_forward=1
, чтобы это было net.ipv4.ip_forward=1
, Сохраняет изменения и перемещается в следующий шаг.
Шаг D - Подменяющие/передающие правила
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Сохраняются , изменения iptables
sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables
Вводят это содержание:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0
Сохраняют изменения, Затем редактируют/создают следующий iptables файл
sudo nano /etc/network/if-post-down.d/iptables
, Вводят это содержание:
#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
iptables-restore < /etc/iptables.rules
fi
exit 0
Сохраняют изменения. Сделайте оба исполняемых файла файлов
sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables
, Шаг E - Завершает с ufw конфигурацией
sudo nano /etc/default/ufw
параметр Изменения вперед, политика принять
DEFAULT_FORWARD_POLICY="ACCEPT"
Сохраняет изменения.
у меня есть свой SSH на порте 49870, таким образом, я также позволил ufw принимать соединения на том порте:
sudo ufw allow 49870
Шаг F - не забывают включать ufw.
sudo ufw enable
На данном этапе, просто перезагрузите свою систему. Затем все устройства локальной сети могут использовать его в качестве основного шлюза. На ноте стороны ufw очень удобен для управления настройками брандмауэра.