VYOS-VPP
#########################################################################################
test web server (для проверки работы vyos)
while true; do { echo -e 'HTTP/1.1 200 OK\r\nContent-Length: 13\r\n\r\nHello, World!'; } | nc -l 8081; done
надо будет еще ядро перенастраивать (но пока рано)
sudo grub-probe --device /dev/sda3
это мое !
podman cp /home/vyos/vpp.conf vpp:/config/vpp.conf
конфигурирование podman
sudo nano /etc/containers/containers.conf
dns_bind_port=54
sudo chattr +i /etc/containers/containers.conf
#########################################################################################
порядок биндинья карт
1) серевые карты VPP долюжы быть переведены в down (ip l set state eth1 down)
2) вклчаем драйвер
sudo modprobe vfio-pci
3) потом делаем бинд
так можно но не получилось т.к. с iommq проблемы
sudo echo "0000:00:12.0" > /sys/bus/pci/drivers/virtio-pci/bind
делал так:
качал dpdk c github
cd /home/vyos/dpdk-24.11/usertools
python3 dpdk-devbind.py -b vfio-pci 0000:03:00.0 --noiommu-mode
перечень карт можно увидеть
lspci | grep Eth
#########################################################################################
запуск vpp (далее сделаем через podman-compose) тут порядок в куче
ip l set dev eth1 down
ip l set dev eth2 down
modprobe vfio-pci
python3 dpdk-devbind.py -b vfio-pci 0000:03:00.0 --noiommu-mode
python3 dpdk-devbind.py -b vfio-pci 0000:03:00.1 --noiommu-mode
создание ngfw пространства имен
ip netns add ngfw
podman rm vpp -f
создание host interface
ip netns exec ngfw bash
ip link add name http1out type veth peer name http1host
ip link set dev http1out up
ip link set dev http1host up
ip addr add 10.10.10.10/24 dev http1host
ip addr show http1host
podman run -d --name vpp --network host --privileged --restart always --ulimit core=0:0 --shm-size 4g --volume /var/run/netns:/var/run/netns --volume /var/vpp/netplan:/etc/vpp/netplan --volume /var/log:/var/log --volume /var:/config/shared --env-file /config/vpp/env docker-archive:/home/vyos/vpp-image.tar
vpp:
create host-interface name http1out
set interface state host-http1out up
podman cp /home/vyos/vpp.conf vpp:/config/vpp.conf
podman restart vpp
назначаем адрес для теста (data2 в бридже loop10)
podman exec -it vpp vppctl
set interface ip address loop10 10.1.100.125/24
show int addr
#########################################################################################
########## enode on podman -----------------------------
включение разрешений для podman
set nat source rule 100 source address '10.88.0.0/16'
set nat source rule 100 translation address 'masquerade'
commit
save
для traefik нуже сервис podman api
podman system service -t 0 unix:///run/user/1000/podman/podman.sock &
vyos|vyos
sudo podman exec -it vpp vppctl
show acl-plugin acl