Предоставление сервиса Minikube с использованием iptables
У меня есть служба балансировки нагрузки minikube, работающая на узле minikube, основанном на kvm. У меня ниже сетевых маршрутов,
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 14 0 0 br0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker_gwbridge
172.30.32.0 0.0.0.0 255.255.254.0 U 0 0 0 hassio
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
192.168.39.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Я мог бы посетить веб-сервис из браузера, используя адрес http://192.168.39.12:32737/
Мне нужно, чтобы этот сервис был доступен для моей локальной сети. Я попытался с помощью iptables сопоставить весь трафик с моей хост-машиной с IP-адресами 192.168.0.11 на порте с 32737 по 192.168.39.12:32737, используя приведенные ниже правила iptables,
$ sudo iptables -I FORWARD -o virbr0 -d 192.168.39.12 -j ACCEPT
$ sudo iptables -t nat -I PREROUTING -p tcp --dport 32737 -j DNAT --to 192.168.39.12:32737
$ sudo iptables -I FORWARD -o virbr0 -d 192.168.0.11 -j ACCEPT
$ sudo iptables -t nat -A POSTROUTING -s 192.168.39.0/24 -j MASQUERADE
sunils@sunils-pc ~ $ sudo iptables -A FORWARD -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A FORWARD -i virbr0 -o br0 -j ACCEPT
$ sudo iptables -A FORWARD -i virbr0 -o lo -j ACCEPT
Но я не могу получить доступ к своему сервису с IP-адреса хоста
$ curl http://192.168.0.11:32737/
curl: (7) Failed to connect to 192.168.0.11 port 32737: Connection refused
Может кто-нибудь, пожалуйста, помогите мне, как выставить сервис minikube с помощью iptables
0 ответов
А как насчет простого использования socat? Это тоже мультиплатформенность
nohup socat TCP-LISTEN:443,fork TCP:<ingress address>:443 &
nohup socat TCP-LISTEN:80,fork TCP:<ingress address>:80 &