Настроить интернет сервер linux

Как настроить статический IP-адрес в Ubuntu Server 20.04

Настройка сети в Ubuntu Server 20.04 LTS осуществляется через утилиту Netplan.

NetPlan — это инструмент для управления настройками сети, представленный в Ubuntu начиная с версии 17.10 и выше.

Этот инструмент заменяет файл статических интерфейсов /etc/network/interfaces , который ранее использовался для настройки сетевых интерфейсов в Ubuntu. Теперь нужно использовать /etc/netplan/*.yaml для ваших изменений в настройках сетевых интерфейсов.

Определение сетевых интерфейсов

Определите все доступные сетевые интерфейсы используя команду ip или lshw :

sudo ip a // Или sudo lshw -class network

Определение сетевых интерфейсов

У меня уже настроен IP адрес: 192.169.0.150. Я изменю его.

Настройки локальной сети

Отредактируйте файл конфигурации netplan который находится в директории /etc/netplan/ :

sudo vim /etc/netplan/00-installer-config.yaml

Настройки локальной сети

Здесь придётся прописать всё ручками, если у вас ещё нет доступа по SSH. У меня этот файл уже редактировался, мне необходимо изменить только IP адрес.

Основные настройки:

  • addresses — ip адрес который будет назначен вашей сетевой карте.
  • gateway4 — ip адрес вашего роутера.
  • nameservers — DNS сервера. Первый — наш роутер.
  • search — домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера

Мои настройки:

network: ethernets: enp0s3: addresses: - 192.168.0.105/24 gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1, 8.8.4.4] optional: true version: 2 renderer: networkd

ВАЖНО!
Обратите внимание на пробелы! Именно пробелы должны быть, а не табуляция. Если у вас после сохранения файла не появилась ошибка типа: Error while loading /etc/netplan/00-installer-config.yaml, то файл отредактирован правильно с точки зрения его синтаксиса.

После редактирования файла: Esc -> Shift + : -> wq! -> Enter .

Настройки локальной сети - результат

Если есть необходимость передать управление сетевыми устройствами утилите NetworkManager:

network: version: 2 renderer: NetworkManager

Настройки беспроводной сети

Для корректной работы беспроводного интерфейса вам потребуется установить утилиту WPA supplicant , которая позволяет подключиться к точкам доступа с WPA. WPA и WPA2:

sudo apt install wpasupplicant

Добавьте новый файл конфигурации в каталог /etc/netplan/ :

sudo vim /etc/netplan/01-config.yaml

Отредактируйте файл конфигурации беспроводной сети с динамическим ip-адресом (DHCP):

network: version: 2 renderer: networkd wifis: wlp3s0: dhcp4: yes dhcp6: no access-points: "network_ssid_name": password: "**********"

Для беспроводной сети в которой используются статические ip-адреса подойдет следующая конфигурация:

network: version: 2 renderer: networkd wifis: wlp3s0: dhcp4: no dhcp6: no addresses: [192.168.0.21/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1, 8.8.8.8] access-points: "network_ssid_name": password: "**********"

Применение конфигурации

Использование netplan для генерации необходимой конфигурации:

Читайте также:  Usb modem on linux mint

Для подробного вывода информации при генерации, используйте опцию —debug :

sudo netplan --debug generate

Применение конфигурации netplan:

Для подробного вывода информации при применении, используйте опцию —debug :

Применение конфигурации

Далее рекомендуется перезапустить интерфейсы или перезагрузить сервер:

Подключение по SSH

В Windows PowerShell:

Подключение по SSH в PowerShell

Используем Putty. Указываем IP адрес и задаем имя сессии, жмём Open:

Подключение по SSH в Putty

При первом подключении к серверу мы увидим сообщение. Жмём ДА.

Первое подключение по SSH в Putty

Вводим имя пользователя и пароль. Если всё прошло успешно, увидим:

Соединение по SSH установлено

На этом настройка статического IP-адреса в Ubuntu Server 20.04 LTS закончена.

Пример конфигурации

Пример, который показывает большинство доступных функций:

network: version: 2 # if specified, can only realistically have that value, as networkd cannot # render wifi/3G. renderer: NetworkManager ethernets: # opaque ID for physical interfaces, only referred to by other stanzas wlp3s0: match: macaddress: 00:11:22:33:44:55 wakeonlan: true dhcp4: true addresses: - 192.168.14.2/24 - 192.168.14.3/24 - "2001:1::1/64" gateway4: 192.168.14.1 gateway6: "2001:1::2" nameservers: search: [foo.local, bar.local] addresses: [8.8.8.8] routes: - to: 0.0.0.0/0 via: 11.0.0.1 table: 70 on-link: true metric: 3 routing-policy: - to: 10.0.0.0/8 from: 192.168.14.2/24 table: 70 priority: 100 - to: 20.0.0.0/8 from: 192.168.14.3/24 table: 70 priority: 50 # only networkd can render on-link routes and routing policies renderer: networkd lom: match: driver: ixgbe # you are responsible for setting tight enough match rules # that only match one device if you use set-name set-name: lom1 dhcp6: true switchports: # all cards on second PCI bus unconfigured by # themselves, will be added to br0 below # note: globbing is not supported by NetworkManager match: name: enp2* mtu: 1280 wifis: all-wlans: # useful on a system where you know there is # only ever going to be one device match: <> access-points: "Joe's home": # mode defaults to "infrastructure" (client) password: "s3kr1t" # this creates an AP on wlp1s0 using hostapd # no match rules, thus the ID is the interface name wlp1s0: access-points: "guest": mode: ap # no WPA config implies default of open bridges: # the key name is the name for virtual (created) interfaces # no match: and set-name: allowed br0: # IDs of the components; switchports expands into multiple interfaces interfaces: [wlp1s0, switchports] dhcp4: true

Подробнее об использовании Netplan здесь.

Источник

Интернет-шлюз на базе Ubuntu Server / Internet Connection Sharing + Squid, Firestarter

Имеется сервер и подключенные к нему клиенты по локальной сети. Сервер имеет выход в интернет. Необходимо устроить раздачу интернета сервером.

Основная часть

Собственно, установка шлюза на базе Ubuntu Server занимает не больше 10-15 минут.

PPPoE

Если Вы используете для подключения по локальной сети PPPoE, вам необходимо просто-напросто ввести в терминале команду:

Читайте также:  Настройка сети через терминал linux

и дать ответы на вопросы. По окончании работы pppoeconf соединение должно быть установлено.

L2TP

Если Вы используете для подключения к провайдеруL2TP, то для этого понадобится установить xl2tpd — демон l2tp и pppd — демон ppp. 1)

sudo apt-get install pppd xl2tpd

Редактируем файл настроек xl2tpd:

sudo nano /etc/xl2tpd/xl2tpd.conf
[global] access control = yes # разрешать соединения только с адресами из lac секций [lac beeline] lns = tp.internet.beeline.ru # адрес для подключения redial = yes # "перезвонить" при потере связи redial timeout = 10 # время между попытками переустановить связь после обрыва(в секундах) max redials = 100 # максимальное количество попыток autodial = yes # устанавливать соединение при запуске xl2tpd require pap = no # не использовать pap аутентификацию require chap = yes # использовать chap аутентификацию require authentication = no # не использовать аутентификацию удаленного сервера name = 000ххххххх # логин pppoptfile = /etc/ppp/options.l2tp # файл с опциями ppp ppp debug = yes # вывод подробной информации pppd в syslog tx bps = 100000000 # скорость туннеля
sudo nano /etc/ppp/options.xl2tp
000ххххххх #номер договора noauth nobsdcomp # nodeflate # параметры сжатия пакетов nopcomp # noaccomp # connect /bin/true remotename beeline # метка для удаленного сервера ipparam beeline # дополнительный параметр для системных скриптов defaultroute # маршрут по умолчанию через ppp интерфейс replacedefaultroute mtu 1460

Записываем в файл chap-secrets логин и пароль:

sudo nano /etc/ppp/chap-secrets:
sudo service xl2tpd start

соединение должно быть установлено.

На установленной машине Интернет появился. Теперь надо добавить включить все репозитарии в /etc/apt/source.list и выполнить:

Для доступа с других машин вашей локальной сети необходимо поставить всего лишь навсего два малюсеньких пакета:

sudo apt-get install dnsmasq
sudo apt-get install ipmasq

Прокси-сервер squid

Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP , FTP , Gopher и HTTPS.

Для установки прокси-сервера squid необходимо выполнить команду:

Теперь редактируем конфигурационный файл. Открываем /etc/squid/squid.conf , ищем нужные строки и корректируем следующим образом:

Перезапускаем прокси-сервер командой:

Настраиваем браузеры на клиентских машинах на использование прокси: адрес прокси — пишем IP адрес интерфейса, обращенного в локальную сеть. Скорее всего,это будет 192.168.0.1, порт прокси — указанный в конфигурационном файле 3128.

Желающим сделать прозрачное проксирование необходимо изменить в файле настроек squid.conf одну строчку:

. http_port 3128 transparent .

Затем для заворачивания нужных портов на прокси-сервер прописывается правило:

iptables -t nat -A PREROUTING -i eth0 ! -d 192.168.0.0/24 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.1:3128

Раздача Интернета в локальную сеть c помощью firestarter

Firestarter – это средство для создания межсетевых экранов для Linux, использующее GNOME. С помощью мастера можно создать базовый межсетевой экран, в дальнейшем его возможности расширяются с помощью динамических правил. Несколькими щелчками мыши можно открывать и закрывать порты или скрывать сервисы, оставляя доступ только к некоторым из них. В программе имеется монитор, который в режиме реального времени показывает попытки поиска злоумышленниками открытых портов.

Читайте также:  Install arch linux on uefi

Для начала установим firestarter :

sudo apt-get install firestarter

При настройке указываем интерфейс с Интернетом — ppp0 раздавать на eth1 2)

Раздача Интернета в локальную сеть (ICS: Internet Connection Sharing)

Для организации совместного доступа в Интернет с помощью общего доступа к подключению Интернета на сервере должна быть одна сетевая карта для подключения к внутренней сети и еще одна карта или модем для подключения к Интернету.

На сервере

Для настройки общего доступа к подключению Интернета необходимо выполнить на сервере указанные ниже действия.

Исходные данные: Оба компьютера соединены по сети. На сервере установлено две сетевые карты:

Это можно сделать вручную или используя терминал:

sudo ifconfig eth1 192.168.0.1 netmask 255.255.255.0 sudo ifconfig eth1 up

Разрешите направление пакетов. Чтобы сделать это, отредактируйте /etc/sysctl.conf . Откройте сам файл командой:

А затем вставьте следующую строчку:

Для того, чтобы применить это правило до перезагрузки выполните:

sysctl -w net.ipv4.ip_forward="1"

Затем добавляем правило для NAT:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Где eth0 название вашего интерфейса через который выходите в интернет. Измените его если используете другой интерфейс (напрмер ppp0) тогда команда будет выглядит иначе:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Установите и запустите пакет для раздачи пакетов по сети:

sudo apt-get install dnsmasq

Или, вы можете использовать DNS провайдера.

Чтобы NAT работал после перезагрузки сохраняем настройки iptables в файл:

iptables-save > /etc/iptables.up.rules

И добавляем в конец файла:

sudo gedit /etc/network/interfaces

Эту строчку, для автоматической подгрузки правил:

Также в этот файл добавляем правила роутинга:

up route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1 up route add -net 0.0.0.0 netmask 255.255.255.255 dev eth0

На клиентском компьютере

Установите на втором компьютере:

Второй компьютер теперь должен быть подключён к интернету.

Если компьютеров несколько

Можно использовать dnsmasq как DHCP сервер. Для этого на сервере редактируем файл dnsmasq.conf:

interface=eth1 # интерфейс, который будет слушать dnsmasq listen-address=192.168.0.1 # адрес, на котором будет находиться dnsmasq bind-interfaces eth1 # слушать только интерфейс dhcp-range=192.168.0.5,192.168.0.50,255.255.255.0,24h1 # диапазон выдаваемых адресов dhcp-option=3,192.168.0.1 # шлюз по умолчанию 
sudo service dnsmasq restart

Настраиваем клиентские компьютеры на автоматическое получение адреса.

Если после перезагрузки правила iptables не восстанавливаются, добавьте:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

в любой стартовый скрипт (rc.local например). Вместо eth0 надо написать ppp0, если этот интерфейс получает интернет от провайдера:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Источник

Оцените статью
Adblock
detector