Size: a a a

2020 April 13

AK

Alexander Kruglikov in Sys-Admin Help
Andrew = 🎮 + 🚽
Коллеги, привет. Подскажите кто имеет опыт в iptables.
Имею хост с KVM, настроил форвардинг портов ssh, http/s к виртуальной машине - хост (eth1, 1.2.3.4) -> vm(virbr1, 192.168.100.10). Выглядит так:

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o virbr1 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth1 -p tcp --dport 2222 -j DNAT --to 192.168.100.10:22
-A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.100.10:80
-A PREROUTING -i eth1 -p tcp --dport 443 -j DNAT --to 192.168.100.10:443

# KVM Virtual Subnets
-A POSTROUTING -s 192.168.100.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.100.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE

COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p udp --sport 123 -m state --state ESTABLISHED     -j ACCEPT
-A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

# Allow loopback interface
-A INPUT -i lo -j ACCEPT


С внешних хостов доступ работает, а при обращении с хоста KVM или виртуалки получаю таймаут соединения. Как это можно починить?
источник

AK

Alexander Kruglikov in Sys-Admin Help
Andrew = 🎮 + 🚽
Коллеги, привет. Подскажите кто имеет опыт в iptables.
Имею хост с KVM, настроил форвардинг портов ssh, http/s к виртуальной машине - хост (eth1, 1.2.3.4) -> vm(virbr1, 192.168.100.10). Выглядит так:

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o virbr1 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth1 -p tcp --dport 2222 -j DNAT --to 192.168.100.10:22
-A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.100.10:80
-A PREROUTING -i eth1 -p tcp --dport 443 -j DNAT --to 192.168.100.10:443

# KVM Virtual Subnets
-A POSTROUTING -s 192.168.100.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.100.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE

COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p udp --sport 123 -m state --state ESTABLISHED     -j ACCEPT
-A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

# Allow loopback interface
-A INPUT -i lo -j ACCEPT


С внешних хостов доступ работает, а при обращении с хоста KVM или виртуалки получаю таймаут соединения. Как это можно починить?
Разгадка здесь в следующем: когда клиентский компьютер отправляет пакет на 1.2.3.4, роутер на самом деле успешно пакет D-NAT'ит на 192.168.100.10. Т.е. до сервера то пакет доходит. Но вот когда сервер отправляет ответ - он видит, что трафик пришел изнутри сети, соответственно ответ он отправляет:
а) Со своего внутрисетевого адреса (192.168.100.10);
б) Напрямую, без использования маршрутизатора, ибо клиент находится внутри его подсети;

Клиент же не ожидает такой пакет: он не готов к тому, что ответ придет от 192.168.100.10, а не с 1.2.3.4. Причем, даже выдернув сервера в отдельную подсеть, у Вас, скорее всего, ничего не получится, т.к. клиент все-равно будет ждать ответ от 1.2.3.4, а не от внутреннего IP, пусть даже трафик пройдет через роутер - S-NAT'а то не произойдет.

Решение - это замаскарадить трафик между внутрисетью и серверами, глядящими во-вне.
источник

AK

Alexander Kruglikov in Sys-Admin Help
вот оттуда читайте - и снизойдёт)
источник

AK

Alexander Kruglikov in Sys-Admin Help
т.е. будет

iptables -t nat -A POSTROUTING -d 192.168.100.10 -s 192.168.100.0/24 -j SNAT --to-source 192.168.100.1
источник

A=

Andrew = 🎮 + 🚽 in Sys-Admin Help
Alexander Kruglikov
т.е. будет

iptables -t nat -A POSTROUTING -d 192.168.100.10 -s 192.168.100.0/24 -j SNAT --to-source 192.168.100.1
Спасибо. Но не помогло.
источник

M

Masha Banhammer in Sys-Admin Help
Andrew = 🎮 + 🚽 увеличил репутацию Alexander Kruglikov(75)
источник

A=

Andrew = 🎮 + 🚽 in Sys-Admin Help
Alexander Kruglikov
Разгадка здесь в следующем: когда клиентский компьютер отправляет пакет на 1.2.3.4, роутер на самом деле успешно пакет D-NAT'ит на 192.168.100.10. Т.е. до сервера то пакет доходит. Но вот когда сервер отправляет ответ - он видит, что трафик пришел изнутри сети, соответственно ответ он отправляет:
а) Со своего внутрисетевого адреса (192.168.100.10);
б) Напрямую, без использования маршрутизатора, ибо клиент находится внутри его подсети;

Клиент же не ожидает такой пакет: он не готов к тому, что ответ придет от 192.168.100.10, а не с 1.2.3.4. Причем, даже выдернув сервера в отдельную подсеть, у Вас, скорее всего, ничего не получится, т.к. клиент все-равно будет ждать ответ от 1.2.3.4, а не от внутреннего IP, пусть даже трафик пройдет через роутер - S-NAT'а то не произойдет.

Решение - это замаскарадить трафик между внутрисетью и серверами, глядящими во-вне.
Не нужно ли указывать имена интерфейсов?
источник

VB

V B in Sys-Admin Help
Andrew = 🎮 + 🚽
Не нужно ли указывать имена интерфейсов?
а включен ли форвардинг я ядре? И какие интерфейсы входят в бридж?
источник

A=

Andrew = 🎮 + 🚽 in Sys-Admin Help
форвардинг включен:

cat /proc/sys/net/ipv4/conf/eth1/forwarding 
1


Бридж создавался в KVM, там крутятся виртуалки из подсети 192.168.100.0/24. Не думаю что с ним могут быть проблемы.
источник

VB

V B in Sys-Admin Help
Andrew = 🎮 + 🚽
форвардинг включен:

cat /proc/sys/net/ipv4/conf/eth1/forwarding 
1


Бридж создавался в KVM, там крутятся виртуалки из подсети 192.168.100.0/24. Не думаю что с ним могут быть проблемы.
они не имеют выхода на физический интерфейс хоста?
источник

VB

V B in Sys-Admin Help
т.е. выход наружу только через маршрутизацию?
источник

A=

Andrew = 🎮 + 🚽 in Sys-Admin Help
Да, выходят наружу через eth1. При текущем сетапе снаружи на виртуалку-то можно постучаться. Надо разобраться что упустил, чтобы стучаться изнутри через наружу 😵
источник

VB

V B in Sys-Admin Help
Andrew = 🎮 + 🚽
Да, выходят наружу через eth1. При текущем сетапе снаружи на виртуалку-то можно постучаться. Надо разобраться что упустил, чтобы стучаться изнутри через наружу 😵
т.е. таки бридж с внешним интерфейсом?
источник

A=

Andrew = 🎮 + 🚽 in Sys-Admin Help
Я так понимаю, что всё через маршрутизацию

virsh net-dumpxml net1
<network connections='8'>
 <name>net1</name>
 <uuid>034462a3-43a3-4a49-b35f-xxxxxxxxx</uuid>
 <forward mode='nat'>
   <nat>
     <port start='1024' end='65535'/>
   </nat>
 </forward>
 <bridge name='virbr1' stp='on' delay='0'/>
 <mac address='xx:xx:xx:xx:xx:x’/>
 <ip address='192.168.100.1' netmask='255.255.255.0'>
 </ip>
</network>
источник

A

Anton in Sys-Admin Help
А кто нибудь знает, как запретить изменять громкость на грандстримах?
источник

VB

V B in Sys-Admin Help
Andrew = 🎮 + 🚽
Коллеги, привет. Подскажите кто имеет опыт в iptables.
Имею хост с KVM, настроил форвардинг портов ssh, http/s к виртуальной машине - хост (eth1, 1.2.3.4) -> vm(virbr1, 192.168.100.10). Выглядит так:

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o virbr1 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth1 -p tcp --dport 2222 -j DNAT --to 192.168.100.10:22
-A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.100.10:80
-A PREROUTING -i eth1 -p tcp --dport 443 -j DNAT --to 192.168.100.10:443

# KVM Virtual Subnets
-A POSTROUTING -s 192.168.100.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.100.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE

COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p udp --sport 123 -m state --state ESTABLISHED     -j ACCEPT
-A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

# Allow loopback interface
-A INPUT -i lo -j ACCEPT


С внешних хостов доступ работает, а при обращении с хоста KVM или виртуалки получаю таймаут соединения. Как это можно починить?
с хоста видимо придется не на внешний адрес а сразу по внутреннему. т.к. оутпут не проходит через прероутинг
источник

VB

V B in Sys-Admin Help
соответсвенно для него подключение на всвой внешний адрес это именно на его порт без перенаправления
источник

VI

Victor Ivanov in Sys-Admin Help
Навернулся ноут, вытащил ssd и вставил в пк, не загружается, мигает белая черточка в левом верхнем углу. И не загружается даже второй винт на котором Linux. Отключил драйвера на ssd, загрузился Linux. Что можно сделать чтобы запустить другой диск с виндой на другом компьютере?
источник
2020 April 14

M

M... K... in Sys-Admin Help
здорова всем можете помочь сегодня поднял почту всё настроил кроме PTR провайдер еще не добавил. в bind  добавил spf,dkim запись для mail.domain.uz и domain.uz на gmail почта отправляется и принимается но когда проверяю spf записи онлайн на domain.uz находить а mail.domain.uz не находить
источник

M

M... K... in Sys-Admin Help
для этого нужен время или это связано с ptr записом
источник