У меня проблема, до недавнего времени все работало нормально. но сейчас это не работает, но на другом тестовом сервере работает нормально
Я отправляю весь трафик на tor, и эта часть работает нормально. Проблема заключается в маскараде, я думаю, поскольку он не меняет порт dnat / redirect 9040 на исходный порт 80/443 обратно после получения ответа
Программное обеспечение:
Сети
Iptables:
*filter
:INPUT ACCEPT [174876:86417485]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [170612:89138010]
:DOCKER - [0:0]
:DOCKER-ISOLATION - [0:0]
:DOCKER-USER - [0:0]
-A FORWARD -d 192.168.2.8/32 -i virbr1 -o virbr1 -j ACCEPT
-A FORWARD -s 192.168.2.8/32 -i virbr1 -o virbr1 -j ACCEPT
-A FORWARD -d 192.168.2.0/24 -o virbr1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -i virbr1 -j ACCEPT
-A FORWARD -i virbr1 -o virbr1 -j ACCEPT
-A OUTPUT -s 192.168.2.8/32 -j DROP
COMMIT
# Completed on Tue Feb 20 09:32:11 2018
# Generated by iptables-save v1.6.1 on Tue Feb 20 09:32:11 2018
*nat
:PREROUTING ACCEPT [193:19723]
:INPUT ACCEPT [193:19723]
:OUTPUT ACCEPT [129:12889]
:POSTROUTING ACCEPT [124:11792]
:DOCKER - [0:0]
-A PREROUTING -s 192.168.2.8/32 -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.2.1:5353
-A PREROUTING -s 192.168.2.8/32 -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.2.1:5353
-A PREROUTING -s 192.168.2.8/32 ! -d 192.168.2.1/32 -p tcp -j DNAT --to-destination 192.168.2.1:9040
-A PREROUTING -s 192.168.2.8/32 ! -d 192.168.2.1/32 -p udp -j DNAT --to-destination 192.168.2.1:9040
-A POSTROUTING -o tun5 -j MASQUERADE
-A POSTROUTING -o virbr1 -j MASQUERADE
COMMIT
# Completed on Tue Feb 20 09:32:11 2018
# Generated by iptables-save v1.6.1 on Tue Feb 20 09:32:11 2018
*mangle
:PREROUTING ACCEPT [3538365:1832890486]
:INPUT ACCEPT [3538362:1832890258]
:FORWARD ACCEPT [3:228]
:OUTPUT ACCEPT [3495644:1711746305]
:POSTROUTING ACCEPT [3496898:1711973811]
-A POSTROUTING -o virbr1 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
-A POSTROUTING -o virbr1 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
/ proc / sys / net / ipv4 / ip_forward установлен на 1
Мониторинг с conntrack -L
PS на другом сервере с той же ОС, версией iptables, правилами iptables он работает нормально
заранее спасибо
хорошо, я решил проблему.
это связано с обновлением докеров и изменением сетевого фильтра ядра, подробнее здесь https://forums.fedoraforum.org/showthread.php?312824-Bridge-broken-after-docker-install&p=1785664#post1785664
установка их на 0 похоже на решение моей проблемы
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
net.bridge.bridge-nf-call-arptables=0
Спасибо