+++
@@ -1,34 +0,0 @@
|
|||||||
# Настройки в Debian для доступа по XRDP в XFCE
|
|
||||||
|
|
||||||
## Настройка нормальной работы раскладки клавиатуры EN/RU
|
|
||||||
|
|
||||||
1. При старке новой сесси для всех сеансов: правим файл **/etc/xrdp/startwm.sh**, сразу после **#!/bin/sh**
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
|
||||||
(sleep 3; setxkbmap -layout "us,ru" -option "grp:ctrl_shift_toggle") &
|
|
||||||
```
|
|
||||||
|
|
||||||
Пояснение: задержка 3 секунды, для загрузки служб, затем раскладка Ctrl+Shift
|
|
||||||
|
|
||||||
2. При отключении и переподключении раскладка теряется, поэтому для XFCE и Mint, в каталоге пользователя добавляем файл автостарта **~/.config/autostart/setxkbmap.desktop** с содержимым:
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[Desktop Entry]
|
|
||||||
|
|
||||||
Type=Application
|
|
||||||
Exec=setxkbmap -layout "us,ru" -option "grp:ctrl_shift_toggle"
|
|
||||||
Hidden=false
|
|
||||||
NoDisplay=false
|
|
||||||
X-GNOME-Autostart-enabled=true
|
|
||||||
Name=FixKeyboard
|
|
||||||
```
|
|
||||||
|
|
||||||
## Убрать хрень тупой безопасности
|
|
||||||
|
|
||||||
В последних релизах появилась хрень контроля "потенциально не безопасной" вставки в термнал!
|
|
||||||
Отключить эту дрянь можно локально в файле **~/.inputrc** или глобально для всех пользователе в файле **/etc/inputrc**, добавив строку:
|
|
||||||
|
|
||||||
```
|
|
||||||
set enable-bracketed-paste off
|
|
||||||
```
|
|
||||||
221
Настройка-инфраструктуры-локальной-сети-с-выходом-в-интернет.md
Normal file
221
Настройка-инфраструктуры-локальной-сети-с-выходом-в-интернет.md
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
# Настройка инфраструктуры локальной сети с выходом в интернет
|
||||||
|
|
||||||
|
*Создано 20.12.2025*<br/>
|
||||||
|
*Изменено 21.12.2025, 23:04*
|
||||||
|
|
||||||
|
|
||||||
|
## Хост маршрутизатор, 192.168.1.1
|
||||||
|
|
||||||
|
Соглашение по сетевым интерфейсам
|
||||||
|
|
||||||
|
- eth0 - внешний интерфейс, "смотрит" в интернет
|
||||||
|
- eth1 - внутрениий LAN
|
||||||
|
|
||||||
|
Настройки сетевых интерфейсов, хост маршрутизатор, файл **/etc/newtwork/interfaces**
|
||||||
|
|
||||||
|
ссылки:
|
||||||
|
- https://wiki.debian.org/ru/NetworkConfiguration
|
||||||
|
- https://rtfm.wiki/linux/debian/etc-network-interfaces
|
||||||
|
- https://synay.net/support/kb/setting-nat-linux-debian-internet-local-network
|
||||||
|
|
||||||
|
```
|
||||||
|
source /etc/network/interfaces.d/*
|
||||||
|
|
||||||
|
# The loopback network interface
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
|
||||||
|
# The primary network interface
|
||||||
|
allow-hotplug eth0
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet static
|
||||||
|
address 193.203.51.138/24
|
||||||
|
gateway 193.203.51.1
|
||||||
|
dns-nameservers 193.203.50.254 8.8.8.8
|
||||||
|
|
||||||
|
# LAN
|
||||||
|
allow-hotplug eth1
|
||||||
|
auto eth1
|
||||||
|
iface eth1 inet static
|
||||||
|
address 192.168.1.1
|
||||||
|
netmask 255.255.255.0
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Включение пересылки IP (IP Forwarding), /etc/sysctl.conf
|
||||||
|
|
||||||
|
```ini
|
||||||
|
net.ipv4.ip_forward=1
|
||||||
|
```
|
||||||
|
|
||||||
|
Для вступления в силу изменений в **/etc/sysctl.conf** выполнить команду
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sysctl -p
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверка, что Forwarding работает
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /proc/sys/net/ipv4/ip_forward
|
||||||
|
1
|
||||||
|
```
|
||||||
|
|
||||||
|
**Важно**
|
||||||
|
|
||||||
|
Если при перезагрузке **cat /proc/sys/net/ipv4/ip_forward** выдает 0, то необходимо создать файл в **/etc/sysctl.d/99-ipv.conf** с таким содержимым:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
net.ipv4.ip_forward = 1
|
||||||
|
```
|
||||||
|
|
||||||
|
Применить изменения:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl restart procps
|
||||||
|
sysctl -p
|
||||||
|
```
|
||||||
|
|
||||||
|
### Настройка NAT iptables, классический способ, ufw НЕ УСТАНОВЛЕН!
|
||||||
|
|
||||||
|
- разрешить трафику из LAN
|
||||||
|
```bash
|
||||||
|
iptables -A INPUT -i eth1 -j ACCEPT
|
||||||
|
```
|
||||||
|
- разрешить трафик из интернета, который является ответом на запросы из LAN
|
||||||
|
```bash
|
||||||
|
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
```
|
||||||
|
- включить NAT (Masquerading) для трафика, уходящего из LAN в интернет
|
||||||
|
```bash
|
||||||
|
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||||
|
```
|
||||||
|
- сохранение измененных правил iptables:
|
||||||
|
```bash
|
||||||
|
iptables-save > /etc/iptables/rules.v4
|
||||||
|
```
|
||||||
|
|
||||||
|
### Проверка правил iptables
|
||||||
|
|
||||||
|
```bash
|
||||||
|
iptables -L -v -n
|
||||||
|
```
|
||||||
|
|
||||||
|
### Настрока NAT, ufw установлен
|
||||||
|
|
||||||
|
- [разрешить IP forwarding](#включение-пересылки-ip-ip-forwarding-etcsysctlconf)
|
||||||
|
|
||||||
|
- Откройте файл **/etc/default/ufw**
|
||||||
|
|
||||||
|
Найти строку **DEFAULT_FORWARD_POLICY="DROP"** и заменить ее на **DEFAULT_FORWARD_POLICY="ACCEPT"**
|
||||||
|
|
||||||
|
```ini
|
||||||
|
DEFAULT_FORWARD_POLICY="ACCEPT"
|
||||||
|
```
|
||||||
|
|
||||||
|
- добавить правило маскарадинга
|
||||||
|
|
||||||
|
Открыть файла **/etc/ufw/before.rules**
|
||||||
|
|
||||||
|
Добавить строки в начале файла перед строкой ***filter**
|
||||||
|
|
||||||
|
```ini
|
||||||
|
# <!- NAT RULES ->
|
||||||
|
*nat
|
||||||
|
:POSTROUTING ACCEPT [0:0]
|
||||||
|
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
|
||||||
|
COMMIT
|
||||||
|
# <!- END NAT RULES ->
|
||||||
|
```
|
||||||
|
|
||||||
|
- перезапустить **ufw**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ufw disable && ufw enable
|
||||||
|
```
|
||||||
|
|
||||||
|
## Установка и настройка DHCP сервера на шлюзе
|
||||||
|
|
||||||
|
### Установка пакета
|
||||||
|
|
||||||
|
На шлюзе должен быть установлен статический IP адрес 192.168.1.1, файл **/etc/network/interfaces**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install isc-dhcp-server
|
||||||
|
```
|
||||||
|
|
||||||
|
### Конфигурация DHCP-сервера, файл /etc/dhcp/dhcpd.conf
|
||||||
|
|
||||||
|
```ini
|
||||||
|
# Настройки сети
|
||||||
|
subnet 192.168.1.0 netmask 255.255.255.0 {
|
||||||
|
range 192.168.1.100 192.168.1.200; # Диапазон выдаваемых IP
|
||||||
|
option routers 192.168.1.1; # IP вашего шлюза/роутера
|
||||||
|
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS-серверы (Google DNS)
|
||||||
|
option broadcast-address 192.168.1.255;
|
||||||
|
default-lease-time 600;
|
||||||
|
max-lease-time 7200;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Указание сетевого интерфейса
|
||||||
|
|
||||||
|
Файл **/etc/default/isc-dhcp-server**
|
||||||
|
|
||||||
|
```ini
|
||||||
|
INTERFACESv4="eth1"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Перезапуск и включение службы
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl restart isc-dhcp-server
|
||||||
|
```
|
||||||
|
|
||||||
|
## Конфигурация DHCP-клиента
|
||||||
|
|
||||||
|
Файл **/etc/newtwork/interfaces**
|
||||||
|
|
||||||
|
```
|
||||||
|
auto eth1
|
||||||
|
iface eth1 inet dhcp
|
||||||
|
```
|
||||||
|
|
||||||
|
## Резервирование адресов
|
||||||
|
|
||||||
|
Файл **/etc/dhcp/dhcpd.conf**
|
||||||
|
|
||||||
|
Пример, добавляем в конец файла:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
host my-server {
|
||||||
|
hardware ethernet 00:1A:2B:3C:4D:5E; # Замените на MAC-адрес вашего устройства
|
||||||
|
fixed-address 192.168.1.101; # Замените на желаемый статический IP
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Настройка синхронизации времени, Debian 12 и выше
|
||||||
|
|
||||||
|
- установка **systemd-timesyncd**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install systemd-timesyncd
|
||||||
|
```
|
||||||
|
|
||||||
|
- включение синхронизации времени
|
||||||
|
|
||||||
|
```bash
|
||||||
|
timedatectl set-ntp true
|
||||||
|
```
|
||||||
|
|
||||||
|
Если получаем ошибку **Failed to set ntp: NTP not supported**, то перед включением синхронизации - выполнить команду:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl enable --now systemd-timesyncd
|
||||||
|
```
|
||||||
|
|
||||||
|
Если опять получаем ошибку **Failed to set ntp: NTP not supported**, то выполнить команду:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl unmask systemd-timesyncd.service
|
||||||
|
```
|
||||||
@@ -1,221 +1,34 @@
|
|||||||
# Настройка инфраструктуры локальной сети с выходом в интернет
|
# Настройки в Debian для доступа по XRDP в XFCE
|
||||||
|
|
||||||
*Создано 20.12.2025*<br/>
|
## Настройка нормальной работы раскладки клавиатуры EN/RU
|
||||||
*Изменено 21.12.2025, 23:04*
|
|
||||||
|
1. При старке новой сесси для всех сеансов: правим файл **/etc/xrdp/startwm.sh**, сразу после **#!/bin/sh**
|
||||||
|
|
||||||
|
|
||||||
## Хост маршрутизатор, 192.168.1.1
|
```bash
|
||||||
|
(sleep 3; setxkbmap -layout "us,ru" -option "grp:ctrl_shift_toggle") &
|
||||||
Соглашение по сетевым интерфейсам
|
|
||||||
|
|
||||||
- eth0 - внешний интерфейс, "смотрит" в интернет
|
|
||||||
- eth1 - внутрениий LAN
|
|
||||||
|
|
||||||
Настройки сетевых интерфейсов, хост маршрутизатор, файл **/etc/newtwork/interfaces**
|
|
||||||
|
|
||||||
ссылки:
|
|
||||||
- https://wiki.debian.org/ru/NetworkConfiguration
|
|
||||||
- https://rtfm.wiki/linux/debian/etc-network-interfaces
|
|
||||||
- https://synay.net/support/kb/setting-nat-linux-debian-internet-local-network
|
|
||||||
|
|
||||||
```
|
|
||||||
source /etc/network/interfaces.d/*
|
|
||||||
|
|
||||||
# The loopback network interface
|
|
||||||
auto lo
|
|
||||||
iface lo inet loopback
|
|
||||||
|
|
||||||
# The primary network interface
|
|
||||||
allow-hotplug eth0
|
|
||||||
auto eth0
|
|
||||||
iface eth0 inet static
|
|
||||||
address 193.203.51.138/24
|
|
||||||
gateway 193.203.51.1
|
|
||||||
dns-nameservers 193.203.50.254 8.8.8.8
|
|
||||||
|
|
||||||
# LAN
|
|
||||||
allow-hotplug eth1
|
|
||||||
auto eth1
|
|
||||||
iface eth1 inet static
|
|
||||||
address 192.168.1.1
|
|
||||||
netmask 255.255.255.0
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Включение пересылки IP (IP Forwarding), /etc/sysctl.conf
|
Пояснение: задержка 3 секунды, для загрузки служб, затем раскладка Ctrl+Shift
|
||||||
|
|
||||||
|
2. При отключении и переподключении раскладка теряется, поэтому для XFCE и Mint, в каталоге пользователя добавляем файл автостарта **~/.config/autostart/setxkbmap.desktop** с содержимым:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
net.ipv4.ip_forward=1
|
[Desktop Entry]
|
||||||
|
|
||||||
|
Type=Application
|
||||||
|
Exec=setxkbmap -layout "us,ru" -option "grp:ctrl_shift_toggle"
|
||||||
|
Hidden=false
|
||||||
|
NoDisplay=false
|
||||||
|
X-GNOME-Autostart-enabled=true
|
||||||
|
Name=FixKeyboard
|
||||||
```
|
```
|
||||||
|
|
||||||
Для вступления в силу изменений в **/etc/sysctl.conf** выполнить команду
|
## Убрать хрень тупой безопасности
|
||||||
|
|
||||||
```bash
|
В последних релизах появилась хрень контроля "потенциально не безопасной" вставки в термнал!
|
||||||
sysctl -p
|
Отключить эту дрянь можно локально в файле **~/.inputrc** или глобально для всех пользователе в файле **/etc/inputrc**, добавив строку:
|
||||||
```
|
|
||||||
|
|
||||||
Проверка, что Forwarding работает
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat /proc/sys/net/ipv4/ip_forward
|
|
||||||
1
|
|
||||||
```
|
|
||||||
|
|
||||||
**Важно**
|
|
||||||
|
|
||||||
Если при перезагрузке **cat /proc/sys/net/ipv4/ip_forward** выдает 0, то необходимо создать файл в **/etc/sysctl.d/99-ipv.conf** с таким содержимым:
|
|
||||||
|
|
||||||
```ini
|
|
||||||
net.ipv4.ip_forward = 1
|
|
||||||
```
|
|
||||||
|
|
||||||
Применить изменения:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart procps
|
|
||||||
sysctl -p
|
|
||||||
```
|
|
||||||
|
|
||||||
### Настройка NAT iptables, классический способ, ufw НЕ УСТАНОВЛЕН!
|
|
||||||
|
|
||||||
- разрешить трафику из LAN
|
|
||||||
```bash
|
|
||||||
iptables -A INPUT -i eth1 -j ACCEPT
|
|
||||||
```
|
|
||||||
- разрешить трафик из интернета, который является ответом на запросы из LAN
|
|
||||||
```bash
|
|
||||||
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
||||||
```
|
|
||||||
- включить NAT (Masquerading) для трафика, уходящего из LAN в интернет
|
|
||||||
```bash
|
|
||||||
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
|
||||||
```
|
|
||||||
- сохранение измененных правил iptables:
|
|
||||||
```bash
|
|
||||||
iptables-save > /etc/iptables/rules.v4
|
|
||||||
```
|
|
||||||
|
|
||||||
### Проверка правил iptables
|
|
||||||
|
|
||||||
```bash
|
|
||||||
iptables -L -v -n
|
|
||||||
```
|
|
||||||
|
|
||||||
### Настрока NAT, ufw установлен
|
|
||||||
|
|
||||||
- [разрешить IP forwarding](#включение-пересылки-ip-ip-forwarding-etcsysctlconf)
|
|
||||||
|
|
||||||
- Откройте файл **/etc/default/ufw**
|
|
||||||
|
|
||||||
Найти строку **DEFAULT_FORWARD_POLICY="DROP"** и заменить ее на **DEFAULT_FORWARD_POLICY="ACCEPT"**
|
|
||||||
|
|
||||||
```ini
|
|
||||||
DEFAULT_FORWARD_POLICY="ACCEPT"
|
|
||||||
```
|
|
||||||
|
|
||||||
- добавить правило маскарадинга
|
|
||||||
|
|
||||||
Открыть файла **/etc/ufw/before.rules**
|
|
||||||
|
|
||||||
Добавить строки в начале файла перед строкой ***filter**
|
|
||||||
|
|
||||||
```ini
|
|
||||||
# <!- NAT RULES ->
|
|
||||||
*nat
|
|
||||||
:POSTROUTING ACCEPT [0:0]
|
|
||||||
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
|
|
||||||
COMMIT
|
|
||||||
# <!- END NAT RULES ->
|
|
||||||
```
|
|
||||||
|
|
||||||
- перезапустить **ufw**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ufw disable && ufw enable
|
|
||||||
```
|
|
||||||
|
|
||||||
## Установка и настройка DHCP сервера на шлюзе
|
|
||||||
|
|
||||||
### Установка пакета
|
|
||||||
|
|
||||||
На шлюзе должен быть установлен статический IP адрес 192.168.1.1, файл **/etc/network/interfaces**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
apt install isc-dhcp-server
|
|
||||||
```
|
|
||||||
|
|
||||||
### Конфигурация DHCP-сервера, файл /etc/dhcp/dhcpd.conf
|
|
||||||
|
|
||||||
```ini
|
|
||||||
# Настройки сети
|
|
||||||
subnet 192.168.1.0 netmask 255.255.255.0 {
|
|
||||||
range 192.168.1.100 192.168.1.200; # Диапазон выдаваемых IP
|
|
||||||
option routers 192.168.1.1; # IP вашего шлюза/роутера
|
|
||||||
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS-серверы (Google DNS)
|
|
||||||
option broadcast-address 192.168.1.255;
|
|
||||||
default-lease-time 600;
|
|
||||||
max-lease-time 7200;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Указание сетевого интерфейса
|
|
||||||
|
|
||||||
Файл **/etc/default/isc-dhcp-server**
|
|
||||||
|
|
||||||
```ini
|
|
||||||
INTERFACESv4="eth1"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Перезапуск и включение службы
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart isc-dhcp-server
|
|
||||||
```
|
|
||||||
|
|
||||||
## Конфигурация DHCP-клиента
|
|
||||||
|
|
||||||
Файл **/etc/newtwork/interfaces**
|
|
||||||
|
|
||||||
```
|
```
|
||||||
auto eth1
|
set enable-bracketed-paste off
|
||||||
iface eth1 inet dhcp
|
|
||||||
```
|
|
||||||
|
|
||||||
## Резервирование адресов
|
|
||||||
|
|
||||||
Файл **/etc/dhcp/dhcpd.conf**
|
|
||||||
|
|
||||||
Пример, добавляем в конец файла:
|
|
||||||
|
|
||||||
```ini
|
|
||||||
host my-server {
|
|
||||||
hardware ethernet 00:1A:2B:3C:4D:5E; # Замените на MAC-адрес вашего устройства
|
|
||||||
fixed-address 192.168.1.101; # Замените на желаемый статический IP
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Настройка синхронизации времени, Debian 12 и выше
|
|
||||||
|
|
||||||
- установка **systemd-timesyncd**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
apt install systemd-timesyncd
|
|
||||||
```
|
|
||||||
|
|
||||||
- включение синхронизации времени
|
|
||||||
|
|
||||||
```bash
|
|
||||||
timedatectl set-ntp true
|
|
||||||
```
|
|
||||||
|
|
||||||
Если получаем ошибку **Failed to set ntp: NTP not supported**, то перед включением синхронизации - выполнить команду:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl enable --now systemd-timesyncd
|
|
||||||
```
|
|
||||||
|
|
||||||
Если опять получаем ошибку **Failed to set ntp: NTP not supported**, то выполнить команду:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl unmask systemd-timesyncd.service
|
|
||||||
```
|
```
|
||||||
Reference in New Issue
Block a user