+++
@@ -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/>
|
||||
*Изменено 21.12.2025, 23:04*
|
||||
## Настройка нормальной работы раскладки клавиатуры EN/RU
|
||||
|
||||
1. При старке новой сесси для всех сеансов: правим файл **/etc/xrdp/startwm.sh**, сразу после **#!/bin/sh**
|
||||
|
||||
|
||||
## Хост маршрутизатор, 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
|
||||
|
||||
```bash
|
||||
(sleep 3; setxkbmap -layout "us,ru" -option "grp:ctrl_shift_toggle") &
|
||||
```
|
||||
|
||||
### Включение пересылки IP (IP Forwarding), /etc/sysctl.conf
|
||||
Пояснение: задержка 3 секунды, для загрузки служб, затем раскладка Ctrl+Shift
|
||||
|
||||
2. При отключении и переподключении раскладка теряется, поэтому для XFCE и Mint, в каталоге пользователя добавляем файл автостарта **~/.config/autostart/setxkbmap.desktop** с содержимым:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
Проверка, что 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**
|
||||
В последних релизах появилась хрень контроля "потенциально не безопасной" вставки в термнал!
|
||||
Отключить эту дрянь можно локально в файле **~/.inputrc** или глобально для всех пользователе в файле **/etc/inputrc**, добавив строку:
|
||||
|
||||
```
|
||||
auto eth1
|
||||
iface eth1 inet dhcp
|
||||
set enable-bracketed-paste off
|
||||
```
|
||||
|
||||
## Резервирование адресов
|
||||
|
||||
Файл **/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