Не могу пробросить порт во внутрисеть извне
Welmar 18 июня, 2012 - 18:30
Есть система
#uname -a Linux Domen 3.2.11-hardened #5 SMP Tue Jun 19 00:38:02 EEST 2012 i686 Intel(R) Celeron(R) CPU E3500 @ 2.70GHz GenuineIntel GNU/Linux
Все работает, кроме доступа из инета на внутренний сервер.
Помогите устранить причину.
Правила в iptables следующие
# Generated by iptables-save v1.4.13 on Tue Jun 19 01:11:22 2012 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [25:2002] :OUTPUT ACCEPT [2:168] :POSTROUTING ACCEPT [1:84] -A PREROUTING -j ACCEPT -A PREROUTING -i eth0 -p tcp -m tcp --dport 3390 -j DNAT --to-destination 192.168.0.20:3389 -A PREROUTING -i eth0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.20:3389 -A POSTROUTING -o eth0 -j MASQUERADE COMMIT # Completed on Tue Jun 19 01:11:22 2012 # Generated by iptables-save v1.4.13 on Tue Jun 19 01:11:22 2012 *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [389:29218] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [476:58516] :POSTROUTING ACCEPT [476:58516] -A PREROUTING -j ACCEPT COMMIT # Completed on Tue Jun 19 01:11:22 2012 # Generated by iptables-save v1.4.13 on Tue Jun 19 01:11:22 2012 *filter :INPUT ACCEPT [6:288] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :allowed - [0:0] :bad_tcp_packets - [0:0] :icmp_packets - [0:0] :tcp_packets - [0:0] :udp_packets - [0:0] -A INPUT -p tcp -j bad_tcp_packets -A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -p tcp -j tcp_packets -A INPUT -i eth0 -p udp -j udp_packets -A INPUT -i eth0 -p icmp -j icmp_packets -A INPUT -d 224.0.0.0/8 -i eth0 -j DROP -A FORWARD -p tcp -j bad_tcp_packets -A FORWARD -i eth1 -j ACCEPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -p tcp -j bad_tcp_packets -A OUTPUT -s 127.0.0.1/32 -j ACCEPT -A OUTPUT -s 192.168.0.1/32 -j ACCEPT -A OUTPUT -o eth0 -j ACCEPT -A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT -A allowed -p tcp -j DROP -A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset -A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn:" -A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP -A icmp_packets -p icmp -f -j DROP -A icmp_packets -p icmp -m icmp --icmp-type 0 -j ACCEPT -A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT -A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT -A icmp_packets -p icmp -m icmp --icmp-type 4 -j ACCEPT -A tcp_packets -p tcp -m tcp --dport 21 -j allowed -A tcp_packets -p tcp -m tcp --dport 22 -j allowed -A tcp_packets -p tcp -m tcp --dport 33 -j allowed -A tcp_packets -p tcp -m tcp --dport 25 -j allowed -A tcp_packets -p tcp -m tcp --dport 80 -j allowed -A tcp_packets -p tcp -m tcp --dport 110 -j allowed -A tcp_packets -p tcp -m tcp --dport 113 -j allowed -A tcp_packets -p tcp -m tcp --dport 143 -j allowed -A tcp_packets -p tcp -m tcp --dport 443 -j allowed -A tcp_packets -p tcp -m tcp --dport 993 -j allowed -A tcp_packets -p tcp -m tcp --dport 995 -j allowed -A udp_packets -p udp -m udp --sport 53 -j ACCEPT -A udp_packets -p udp -m udp --sport 123 -j ACCEPT -A udp_packets -d 255.255.255.255/32 -i eth0 -p udp -m udp --dport 67:68 -j DROP COMMIT # Completed on Tue Jun 19 01:11:22 2012
»
- Для комментирования войдите или зарегистрируйтесь
убрать первый -j ACCEPT из
убрать первый -j ACCEPT из PREROUTING ?
lix написал(а): убрать первый
убрал - результат тот же...
зачем аццепты, если полиси и
зачем аццепты, если полиси и так стоит в аццепт и пропускает все по дефолту ?
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
убирал из mangle даже ацепт
убирал из mangle даже ацепт прероутинга, перезагружал шлюз - ничего не меняется.
iptables -t nat -nvL Chain
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
iptables -t nat -nvLChain
результат тот же пакеты не доходят
Chain PREROUTING (policy
Если не внимателно читал, то найди 1 отличие
П.С xxx.xxx.xxx.xxx - адрес внешки
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
iptables -t nat -nvLChain
к сожалению результат тот же... похоже вообще ничего не проходит
странно но такая конструкция файрволла, как у меня, успешно работает на других шлюзах.
не пойму в чем проблема?
Переставил систему, скомпилировал ядро genkernel - проблема осталась...
Часто забываю про ip_forward
Как то так
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
Или в постоянку так nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
А при внешней динамике еще и
net.ipv4.ip_dynaddr = 1
Тут все прописано , но
Тут все прописано , но результат тот же
tcpdump-ом проверь, приходят
tcpdump-ом проверь, приходят ли пакеты на внешний интерфейс и уходят ли с внутреннего?
Нейтральность - высшее достижение сознания!
#/usr/sbin/tcpdump -i eth0
И после этого все. Хотя доступ к серверу из внутрисети есть...
Пояснения к дампу
+
#tcpdump -i eth0 -ttt -n -nn -v dst host 192.168.0.20
эта команда бесполезна, какой смысл смотреть на внешнем интерфейсе пакеты где адрес назначения из внутренней сети?
#/usr/sbin/tcpdump -i eth1 -ttt -n -nn -v dst host 192.168.0.20
эта команда более показательна. как мы видим пакеты уходят со шлюза на сервер. но из-за "dst host" непонятно возвращаются ли ответы))) поэтому надо посмотреть трафик командой
tcpdump -ni eth1 host 192.168.0.20 and port 3389
так мы увидим есть ли ответы от сервера.
пока стоит такая неопределенность могу предположить что :
сервер режет пакеты т.к. они прилетают с интернетным адресом в "src", и быстрое решение:
iptables -t nat -I POSTROUTING -o eth1 -d 192.168.0.20 -p tcp -m tcp --dport 3389 -j SNAT --to-source 192.168.0.1
there is only war...
-A POSTROUTING -s
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
да ты просто гений ;)
да ты просто гений ;)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)