Привет. Скрипт для iptables и dnsmasq не запускаются автоматом, но работают при запуске вручную.
network:
version: 2
renderer: networkd
ethernets:
enp0s25:
addresses: [192.168.2.6/24]
routes:
- to: 0.0.0.0/0
via: 192.168.2.1
metric: 100
nameservers:
addresses: [192.168.2.1, 8.8.8.8]
enp17s10:
addresses: [192.168.3.10/24]
routes:
- to: 192.168.3.0/24
via: 192.168.3.10
metric: 100
nameservers:
addresses: [192.168.3.10]
interface=enp17s10
bind-interfaces
dhcp-range=192.168.3.100,192.168.3.199,255.255.255.0,12h
dhcp-host=4C-72-B9-2E-8B-3A,192.168.3.100
dhcp-host=78-92-9C-9C-84-30,192.168.3.101
dhcp-host=48-88-CA-70-5E-3E,192.168.3.190
dhcp-host=00-1E-27-54-12-24,192.168.3.102
dhcp-host=10-BF-42-1B-EF-65,192.168.3.103
dhcp-host=C0-C1-C0-C1-C0-C1,192.168.3.104
dhcp-host=8C-11-45-27-6A-D1,192.168.3.105
dhcp-host=38-A2-8D-A6-98-2E,192.168.3.113
dhcp-authoritative
log-dhcp
#!/bin/bash
# переменная с путём к iptables
IPTABLES=/sbin/iptables
# переменные интерфейсов
LAN=enp17s10
WAN=enp0s25
WAN_IP=192.168.2.6
LAN_NET=192.168.3.0/24
# очистка основных цепочек пакетного фильтра
$IPTABLES -F
# очистка таблиц ната
$IPTABLES -t nat -F
# разрешить входящие
$IPTABLES -A INPUT -p tcp -i $WAN -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p udp -i $WAN -m state --state ESTABLISHED -j ACCEPT
# разрешить icmp (ping)
$IPTABLES -A INPUT -p icmp -j ACCEPT
# разрешить 22 порт на WAN'е для ssh
$IPTABLES -A INPUT -p tcp -i $WAN --dst $WAN_IP --dport 22 -j ACCEPT
# разрешить входящие с локалки
$IPTABLES -A INPUT -i $LAN -j ACCEPT
# nat с маскарадом (подменой ip на внешний)
$IPTABLES -t nat -A POSTROUTING --src $LAN_NET -j MASQUERADE
# сбрасывать остальные соединения снаружи и логировать
#$IPTABLES -A INPUT -i $WAN -j ULOG --ulog-prefix "IPFW-DENY:"
$IPTABLES -A INPUT -i $WAN -j DROP
для файла сделаны следующие команды:
chmod +x /etc/init.d/file
update-rc.d file defaults
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.6 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::21e:37ff:fe54:1224 prefixlen 64 scopeid 0x20<link>
ether 00:1e:37:54:12:24 txqueuelen 1000 (Ethernet)
RX packets 25581 bytes 15814596 (15.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 26590 bytes 11370328 (11.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xd0280000-d02a0000
enp17s10: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.10 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::20f:38ff:fe68:ec64 prefixlen 64 scopeid 0x20<link>
ether 00:0f:38:68:ec:64 txqueuelen 1000 (Ethernet)
RX packets 27526 bytes 11464056 (11.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 25759 bytes 15894071 (15.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 22
Вторая сетевуха была добавлена дополнительно в компьютер и похоже, что она почему-то долго прогружается, но может с этим и не связано. Кроме того, в lshw -c network у первого интерфейса latency=0, а у второго - 189, не знаю имеет ли это значение.
--
После включения, в iptables пусто, status dnsmasq выдаёт: dnsmasq unknown interface enp17s10, но при запуске скрипта и dnsmasq вручную всё мгновенно работает как надо.