LINUX.ORG.RU
ФорумAdmin

systemd-networkd и proxmox не работает NAT?

 , , , ,


0

1

systemd-networkd и proxmox не работает NAT?

root@:/etc/systemd/network# tail -n +1 *
==> 50-default.network <==
# This file sets the IP configuration of the primary (public) network device.
# You can also see this as "OSI Layer 3" config.
# It was created by the OVH installer, please be careful with modifications.
# Documentation: man systemd.network or https://www.freedesktop.org/software/systemd/man/systemd.network.html

[Match]
MACAddress=ac:1f:6b:6a:11:11

[Network]
Description=network interface on public network, with default route
DHCP=no
Address=52.168.204.154/24
Gateway=52.168.204.254
#IPv6AcceptRA=false
NTP=ntp.ovh.net
DNS=127.0.0.1
DNS=213.186.33.99
DNS=2001:41e0:3:263::1
Gateway=2001:41e0:0800:12ff:ff:ff:ff:ff
IPForward=yes

[Address]
Address=2001:41e0:0800:129a::/64

[Route]
Destination=2001:4120:0800:12ff:ff:ff:ff:ff
Scope=link

==> 50-public-interface.link <==
# This file configures the relation between network device and device name.
# You can also see this as "OSI Layer 2" config.
# It was created by the OVH installer, please be careful with modifications.
# Documentation: man systemd.link or https://www.freedesktop.org/software/systemd/man/systemd.link.html

[Match]
MACAddress=ac:1f:6b:6a:11:11

[Link]
Description=network interface on public network, with default route
MACAddressPolicy=persistent
NamePolicy=kernel database onboard slot path mac
#Name=eth2      # name under which this interface is known under OVH rescue system
#Name=eno3      # name under which this interface is probably known by systemd

==> 80-vmbr1.netdev <==
[NetDev]
Name=vmbr1
Kind=bridge

==> 81-vmbr1.network <==
[Match]
Name=vmbr1

[Network]
Address=0.0.0.0
#IPForward=true
#IPMasquerade=true

iptables -t nat -A POSTROUTING -o eno3 -j MASQUERADE
iptables -t nat -A POSTROUTING -s '10.0.0.0/8' -o eno3 -j MASQUERADE
/etc/pve/qemu-server/100.conf

net0: virtio=00:11:22:33:44:56,bridge=vmbr1
echo 1 > /proc/sys/net/ipv4/ip_forward
root@:/etc/systemd/network# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:1f:6b:6a:11:13 brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:1f:6b:6a:11:17 brd ff:ff:ff:ff:ff:ff
4: eno3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:6a:11:11 brd ff:ff:ff:ff:ff:ff
    inet 52.168.204.154/24 brd 52.168.204.255 scope global eno3
       valid_lft forever preferred_lft forever
    inet6 2001:41e0:900:129a::/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe70::ae1f:6eff:fe7a:5dfc/64 scope link
       valid_lft forever preferred_lft forever
5: eno4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ac:1f:0b:6e:5f:fd brd ff:ff:ff:ff:ff:ff
6: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether a2:df:e3:b8:0f:8d brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/8 brd 10.255.255.255 scope global vmbr1
       valid_lft forever preferred_lft forever
    inet6 fe80::a0df:b3ff:feb8:b8d/64 scope link
       valid_lft forever preferred_lft forever
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:b2:87:b3:e6 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
8: tap100i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr1 state UNKNOWN group default qlen 1000
    link/ether d2:a6:6d:b6:20:7a brd ff:ff:ff:ff:ff:ff
9: tap101i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr1 state UNKNOWN group default qlen 1000
    link/ether 33:67:b3:e8:f9:9f brd ff:ff:ff:ff:ff:ff
root@:/etc/systemd/network# ip ro
default via 52.168.204.254 dev eno3 proto static
10.0.0.0/8 dev vmbr1 proto kernel scope link src 10.0.0.1
52.168.204.0/24 dev eno3 proto kernel scope link src 52.168.204.154
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown


Уточните, что в вашем понимании означает «не работает NAT». NAT это замена адресов в пакете, то есть при не рабочем NAT (MASQUERADE) у вас в сеть должны уходить пакеты, но с неправильным src-ip адресом. Это так, или у вас вобще в сеть пакеты не уходят?

mky ★★★★★ ()
Ответ на: комментарий от mky

Нет инета на VM.

Мост работает. Виртуалки пингуют друг друга и шлюз - мост. Не резолвит DNS и пакеты не уходят на внешний интерфес.

VM2

root@debian:~# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.092 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.158 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.218 ms
^C
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 34ms
rtt min/avg/max/mdev = 0.092/0.156/0.218/0.051 ms
root@debian:~# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.228 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.254 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.246 ms
^C
--- 10.0.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 32ms
rtt min/avg/max/mdev = 0.228/0.242/0.254/0.021 ms
root@debian:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 73ms
root@debian:~# ping ya.ru
ping: ya.ru: Temporary failure in name resolution

HOST

root@:/home/prib# iptables -t nat -L -v -n
Chain PREROUTING (policy ACCEPT 212K packets, 13M bytes)
 pkts bytes target     prot opt in     out     source               destination
    9   468 DNAT       tcp  --  eno3   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:456 to:10.0.0.3:22

Chain INPUT (policy ACCEPT 184K packets, 12M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 16541 packets, 1011K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 16544 packets, 1009K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MASQUERADE  all  --  *      eno3    10.0.0.0/8           0.0.0.0/0

Chain DOCKER (0 references)
 pkts bytes target     prot opt in     out     source               destination
root@:/home/prib# tcpdump -i vmbr1 host 8.8.8.8
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vmbr1, link-type EN10MB (Ethernet), capture size 262144 bytes
12:08:28.663487 IP 10.0.0.3 > dns.google: ICMP echo request, id 2231, seq 1, length 64
12:08:29.664521 IP 10.0.0.3 > dns.google: ICMP echo request, id 2231, seq 2, length 64
12:08:30.672359 IP 10.0.0.3 > dns.google: ICMP echo request, id 2231, seq 3, length 64
12:08:31.696362 IP 10.0.0.3 > dns.google: ICMP echo request, id 2231, seq 4, length 64
12:08:32.720237 IP 10.0.0.3 > dns.google: ICMP echo request, id 2231, seq 5, length 64
root@:/home/prib# tcpdump -i eno3 host 8.8.8.8
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno3, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
prib ()
Ответ на: комментарий от anc

В iptables слаб

iptables -t filter -L -v -n
...
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW reject-with tcp-reset
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    0     0 ACCEPT     all  --  lo     lo      0.0.0.0/0            0.0.0.0/0
  207 15540 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
prib ()
Ответ на: комментарий от anc

Не понял(

Как я понимаю у меня должно быть два правила:

  1. Разрешить форвард с бриджа vmbr1.
  2. Включить маскарад на внешнем интерфейсе eno3.
iptables -A FORWARD -m conntrack --ctstate NEW -i vmbr1 -s 10.0.0.1/8 -j ACCEPT
iptables -t nat -A POSTROUTING -s '10.0.0.0/8' -o eno3 -j MASQUERADE
prib ()
Ответ на: комментарий от anc

На 8-ки пошел. DNS не резолвит.

root@debian:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=8.09 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=50 time=8.07 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 8.071/8.081/8.092/0.090 ms
root@debian:~# ping ya.ru
ping: ya.ru: Temporary failure in name resolution
prib ()
Ответ на: Поставил DNS 8.8.8.8 все ОК резолвит. от prib

1. Не обещаю помощи. Но попробуйте сюда выхлоп iptables-save показать. Боюсь что будет огромная простыня и парсить будет лень. Но может и посмотрю.
2.

Объясните что обозначает правило iptables -I FORWARD -j ACCEPT. Разрешить форвард всего везде, безопасно ли это?

-I - insert без «цифирки» будет на первое место в цепочке.
3.

Разрешить форвард всего везде, безопасно ли это?

Вопросом на вопрос. Вы не клон одного товарища который недавно подобное спрашивал? Вы нашли место в чем проблема? Да. Это цепочка FORWARD которая дропала пакеты. Это самый простой тестовый вариант для ответа, тем у кого 100500 правил.
Теперь сносите его. А какие правила «для себя любимого» добавлять исключительно ваше дело.
В целом google iptables-tutorial. При ваших вопросах этого должно хватить https://www.opennet.ru/docs/RUS/iptables/ за день осилить не сложно.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: Спасибо!) Буду капать iptables. от prib

Про резолв. Традиционно это /etc/resolv.conf но уже давно и не у всех оно может быть так. Однако начните с него.
ЗЫ Если набрать host -v ya.ru увидите кто послал, а дальше смотрите, есть там dns сервер или нет.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 2)
Ответ на: комментарий от anc

iptables-save. https://www.opennet.ru/docs/RUS/iptables/ на выходных прочитаю.

iptables-save. https://www.opennet.ru/docs/RUS/iptables/ на выходных прочитаю.

# Generated by iptables-save v1.6.0 on Fri Jun  5 17:08:39 2020
*nat
:PREROUTING ACCEPT [257638:16080436]
:INPUT ACCEPT [209507:13243564]
:OUTPUT ACCEPT [20929:1286966]
:POSTROUTING ACCEPT [20935:1283668]
:DOCKER - [0:0]
-A PREROUTING -i eno3 -p tcp -m tcp --dport 456 -j DNAT --to-destination 10.0.0.3:22
-A POSTROUTING -s 10.0.0.0/8 -o eno3 -j MASQUERADE
COMMIT
# Completed on Fri Jun  5 17:08:39 2020
# Generated by iptables-save v1.6.0 on Fri Jun  5 17:08:39 2020
*mangle
:PREROUTING ACCEPT [1167096:252099835]
:INPUT ACCEPT [1158738:251446238]
:FORWARD ACCEPT [8313:649407]
:OUTPUT ACCEPT [958734:445786489]
:POSTROUTING ACCEPT [958982:445808171]
COMMIT
# Completed on Fri Jun  5 17:08:39 2020
# Generated by iptables-save v1.6.0 on Fri Jun  5 17:08:39 2020
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
:f2b-plesk-dovecot - [0:0]
:f2b-plesk-postfix - [0:0]
:f2b-plesk-proftpd - [0:0]
:f2b-plesk-wordpress - [0:0]
:f2b-recidive - [0:0]
:f2b-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 143,993,110,995,4190 -j f2b-plesk-dovecot
-A INPUT -p tcp -m multiport --dports 21,20,990,989 -j f2b-plesk-proftpd
-A INPUT -p tcp -m multiport --dports 25,465,587 -j f2b-plesk-postfix
-A INPUT -p tcp -m tcp --dport 22 -j f2b-ssh
-A INPUT -p tcp -m multiport --dports 80,443,7080,7081 -j f2b-plesk-wordpress
-A INPUT -p tcp -j f2b-recidive
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j REJECT --reject-with tcp-reset
-A INPUT -m state --state INVALID -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -s my_ips/32 -p tcp -m tcp --dport 7081 -j ACCEPT
-A INPUT -s my_ips/32 -p tcp -m tcp --dport 7080 -j ACCEPT
-A INPUT -s my_ips/32 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -s my_ips/32 -p tcp -m tcp --dport 5900 -j ACCEPT
-A INPUT -s my_ips/32 -p tcp -m tcp --dport 8006 -j ACCEPT
-A INPUT -s my_ips/32 -p tcp -m tcp --dport 10000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 49152:65535 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 12443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 11443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 11444 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8447 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8880 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 106 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
-A INPUT -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -p udp -m udp --dport 138 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8/0 -j ACCEPT
-A INPUT -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j REJECT --reject-with tcp-reset
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i lo -o lo -j ACCEPT
-A FORWARD -j DROP
-A FORWARD -s 10.0.0.0/8 -i vmbr1 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -d 10.0.0.3/32 -i eno3 -p tcp -m tcp --dport 456 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j REJECT --reject-with tcp-reset
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
-A f2b-plesk-dovecot -s 185.234.219.224/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-plesk-dovecot -j RETURN
-A f2b-plesk-postfix -s 87.246.7.107/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-plesk-postfix -j RETURN
-A f2b-plesk-proftpd -j RETURN
-A f2b-plesk-wordpress -s 94.232.168.158/32 -j REJECT --reject-with icmp-port-unreachable
...
-A f2b-plesk-wordpress -s 94.199.181.251/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-plesk-wordpress -j RETURN
-A f2b-recidive -s 185.234.219.224/32 -j REJECT --reject-with icmp-port-unreachable
...
-A f2b-recidive -s 1.245.61.144/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-recidive -j RETURN
-A f2b-ssh -s 122.51.142.72/32 -j REJECT --reject-with icmp-port-unreachable
...
-A f2b-ssh -j RETURN
COMMIT
# Completed on Fri Jun  5 17:08:39 2020
prib ()
1. -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
2. -A FORWARD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j REJECT --reject-with tcp-reset
3. -A FORWARD -m state --state INVALID -j DROP
4. -A FORWARD -i lo -o lo -j ACCEPT
5. -A FORWARD -j DROP
6. -A FORWARD -s 10.0.0.0/8 -i vmbr1 -m conntrack --ctstate NEW -j ACCEPT
7.-A FORWARD -d 10.0.0.3/32 -i eno3 -p tcp -m tcp --dport 456 -j ACCEPT


Проставил цифирки что бы было легче обьяснить.
На правиле
5. -A FORWARD -j DROP
Заканчивается вся обработка цепочки. Остальные уже не играют роли. Правила читаются последовательно, и применяются до первого совпадения типа DROP/REJECT/ACCEPT (не совсем так, есть ещё варианты но в вашем случае оно точно так).
Рассмотрим ваши правила. Улетающий пакет назовем его state NEW , как видите по цепочке он не попадает под строки 1. и 4. где ACCEPT, но попадает под строку 5. Всё, обработка цепочки завершена, пакет дропаем.
Строки 2 и 3 защита от флуда. Строка 4. Безмыслеена так как в цепочку FORWARD пакет не попадет.

ЗЫ Обращаю внимание на state NEW, это первый пролетевший пакет, а не SYN на примере tcp. Та же фигня с INVALID (на самом деле нет, тоже нюансы). А то многие думают иначе. В целом прочитайте iptables tutorial многое станет понятно.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 2)
Ответ на: комментарий от anc

Настроил. Ещё раз спасибо!

Все решилось добавление правила: iptables -I FORWARD 5 -m conntrack --ctstate NEW -i vmbr1 -s 10.0.0.0/8 -j ACCEPT

Да я сразу понял в чем разница после добавления iptables -I FORWARD -j ACCEPT:

root@:/etc/systemd/network# iptables -t filter -L FORWARD -v -n
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
   18  1512 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  lo     lo      0.0.0.0/0            0.0.0.0/0
 4845  405K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  vmbr1  *       10.0.0.0/8           0.0.0.0/0
    0     0 ACCEPT     tcp  --  eno3   *       0.0.0.0/0            10.0.0.3


root@:/etc/systemd/network# iptables -t filter -L FORWARD -v -n
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW reject-with tcp-reset
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    0     0 ACCEPT     all  --  lo     lo      0.0.0.0/0            0.0.0.0/0
 4845  405K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  vmbr1  *       10.0.0.0/8           0.0.0.0/0            ctstate NEW
prib ()
Ответ на: комментарий от anc

Это до того как добавил. Сразу посмотрел в чем разница. Сейчас все ок.

root@:/etc/systemd/network# iptables -t filter -L FORWARD -v -n
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW reject-with tcp-reset
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    0     0 ACCEPT     all  --  lo     lo      0.0.0.0/0            0.0.0.0/0
 4845  405K ACCEPT     all  --  vmbr1  *       10.0.0.0/8           0.0.0.0/0            ctstate NEW
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
prib ()
Ответ на: комментарий от anc

Это из-за этого?

https://www.opennet.ru/docs/RUS/iptables/#NEWNOTSYN Если вы используете правила, определяющие статус пакета NEW, но не проверяете состояние бита SYN, то пакеты со сброшенным битом SYN смогут «просочиться» через вашу защиту.

prib ()
Ответ на: Это из-за этого? от prib

Не совсем. У --ctstate больше вариантов чем у state. Но целом вам же без разницы, основное условие что бы пакеты с интерфейса vmbr1 улетали тут и сеть-то можно не указывать, достаточно -i vmbr1

anc ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.