LINUX.ORG.RU
ФорумJob

nftables/iptables или iproute2 или netns (проектно)

 


0

1

Требуется решение задачи на nftables (приоритетней)/iptables или iproute2 или netns. При себе: ubuntu 18.04, nginx 1.14 с php-fpm 7.2, nftables 0.8.2/iproute2.

О проблеме:

имеется две виртуальные сетевые карты реализованные средствами proxmox 5.2 с разными айпи адресами (серый и белый с лупбеком), php скриптом опрашивается удалённый сервер по UDP, запросы посылаются с серого адреса в ожидании ответа. Ответ от удалённого сервера не приходит (особенность сети, придёт если отправить с белого).

netstat -anoptu

udp        0      0 192.168.1.11:51442     176.12.99.34:7066      ESTABLISHED 821/php              off (0.00/0/0)
udp        0      0 192.168.1.11:42282     176.12.99.34:7066      ESTABLISHED 821/php              off (0.00/0/0) 

ip a

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether ce:f9:8c:4e:46:48 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global ens18
       valid_lft forever preferred_lft forever
    inet6 fe80::ccf9:8cff:fe4e:4648/64 scope link
       valid_lft forever preferred_lft forever
3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether c6:b2:8f:4b:fb:ac brd ff:ff:ff:ff:ff:ff
    inet 176.12.33.34/32 scope global ens19
       valid_lft forever preferred_lft forever
    inet6 fe80::c4b2:8fff:fe4b:fbac/64 scope link
       valid_lft forever preferred_lft forever 

ip route

default via 192.168.1.1 dev ens18 proto static
192.168.1.0/24 dev ens18 proto kernel scope link src 192.168.1.11

О задаче:

с помощью nftables (приоритетней)/iptables или iproute2 или netns перенаправить трафик определённого пользователя (от которого запускается php-fpm) с серого адреса на белый. Тесты проведу сам. С вас только реализация.

Прошу компетентных людей оставить свои контакты в теме. Оплата после результата (успешно отправленного пакета с белого адреса).



Последнее исправление: Nezie (всего исправлений: 11)

Задача, если честно, какая-то фигня. Но попробуем:

echo "100 phpfpm" >> /etc/iproute2/rt_tables
ip rule add from all uidrange $TARGET_UID-$TARGET_UID lookup phpfpm
ip route show | grep $TARGET_IFACE | while read route; do ip route add $route table phpfpm

И никакого nftables.

Ценник — 1 (одно) адекватное описание того, что же ты собственно хочешь этим сетапом добиться.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 4)
Ответ на: комментарий от intelfx
echo "100 phpfpm" >> /etc/iproute2/rt_tables
ip rule add from all uidrange 33-33 lookup phpfpm
ip route add 8.8.8.8 via 192.168.1.200 table phpfpm

Если я правильно понял.

ip route
default via 192.168.1.1 dev ens18 proto static 
192.168.1.0/24 dev ens18 proto kernel scope link src 192.168.1.200 

Второй сетевой тут нет.

p.s. Может на почту? А решение уже опубликуем сюда. :)

Nezie
() автор топика

Актуально. Нуждаюсь в решении задачи.

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