Problem z iptables
Problem z iptables
Witam!
Postawiłem serwer na debianie do testów, w którym mam dwie karty sieciowe do jednej podpięty jest WAN a druga obsługuje LAN. W /etc/init.d stworzyłem plik firewalli dodałem go do automatycznego uruchamiania przy starcie poprzez update-rc.d. dodałem parę reguł aby przetestować działanie firewalla.
iptables -F -t nat
iptables -X -t nat
iptables -F it filter
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F INPUT
iptables _F FORWARD
iptables -F OUTPUT
iptables -t nat POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
i to wszystko działa prawidłowo, net jest na wszystkich komputerach w sieci 192.168.2.0
następnie ustawiłem Access Pointa w sieci 192.168.2.0 pod adresem 192.168.2.100 i chciałem mieć dostęp do niego z sieci WAN (eth1). Po sieci wewnętrznej dostęp mam natomiast chciałem zrobić dostęp z sieci zewnętrznej. Access Point zgłasza mi się na porcie 80 jak go wywołam z sieci wewnętrznej.
Dodałem więc regułę do firewalla
iptables -t nat PREROUTING -i eth1 -p tcp -d 85.x.x.x --dport 80 -j DNAT --to-destination 192.168.2.100:80
i niestety nie mogę dalej połączyć się z sieci zewnętrznej z tym access pointem. oczywiście restartuje firewall poprzez /etc/init.d/firewall restart. Może ktoś mógłby mi pomóc jak zrobić to przekierowanie? Regułę umieszczam przed MASQUERADE bo ma to znaczenie podobno. z góry dziękuje za odpowiedź i pozdrawiam.
Postawiłem serwer na debianie do testów, w którym mam dwie karty sieciowe do jednej podpięty jest WAN a druga obsługuje LAN. W /etc/init.d stworzyłem plik firewalli dodałem go do automatycznego uruchamiania przy starcie poprzez update-rc.d. dodałem parę reguł aby przetestować działanie firewalla.
iptables -F -t nat
iptables -X -t nat
iptables -F it filter
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F INPUT
iptables _F FORWARD
iptables -F OUTPUT
iptables -t nat POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
i to wszystko działa prawidłowo, net jest na wszystkich komputerach w sieci 192.168.2.0
następnie ustawiłem Access Pointa w sieci 192.168.2.0 pod adresem 192.168.2.100 i chciałem mieć dostęp do niego z sieci WAN (eth1). Po sieci wewnętrznej dostęp mam natomiast chciałem zrobić dostęp z sieci zewnętrznej. Access Point zgłasza mi się na porcie 80 jak go wywołam z sieci wewnętrznej.
Dodałem więc regułę do firewalla
iptables -t nat PREROUTING -i eth1 -p tcp -d 85.x.x.x --dport 80 -j DNAT --to-destination 192.168.2.100:80
i niestety nie mogę dalej połączyć się z sieci zewnętrznej z tym access pointem. oczywiście restartuje firewall poprzez /etc/init.d/firewall restart. Może ktoś mógłby mi pomóc jak zrobić to przekierowanie? Regułę umieszczam przed MASQUERADE bo ma to znaczenie podobno. z góry dziękuje za odpowiedź i pozdrawiam.
to cały plik firewall
Kod: Zaznacz cały
iptables -F -t nat
iptables -X -t nat
iptables -F it filter
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F INPUT
iptables _F FORWARD
iptables -F OUTPUT
iptables -t nat PREROUTING -i eth1 -p tcp -d 85.x.x.x --dport 80 -j DNAT --to-destination 192.168.2.100:80
iptables -t nat POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Nie o to mi chodziło.
Raczej o to co system widzi.
Raczej o to co system widzi.
Kod: Zaznacz cały
iptables -nvL
iptables -t nat -nvL
cat /proc/sys/net/ipv4/ip_forward
Kod: Zaznacz cały
iptables -nvL
Chain INPUT (policy ACCEPT 4097 packets, 415K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 156K packets, 116M bytes)
pkts bytes target prot opt in out source destination
13 628 ACCEPT tcp -- * * 0.0.0.0/0 192.168.2.100 tcp dpt:80
Chain OUTPUT (policy ACCEPT 4025 packets, 1046K bytes)
pkts bytes target prot opt in out source destination
iptables -t nat -nvL
Chain INPUT (policy ACCEPT 4097 packets, 415K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 156K packets, 116M bytes)
pkts bytes target prot opt in out source destination
13 628 ACCEPT tcp -- * * 0.0.0.0/0 192.168.2.100 tcp dpt:80
Chain OUTPUT (policy ACCEPT 4025 packets, 1046K bytes)
pkts bytes target prot opt in out source destination
root@Serwer:~# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 3007 packets, 203K bytes)
pkts bytes target prot opt in out source destination
7 328 DNAT tcp -- eth1 * 0.0.0.0/0 85.x.x.x tcp dpt:80 to:192.168.2.100:80
Chain INPUT (policy ACCEPT 262 packets, 31031 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 108 packets, 10757 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 97 packets, 6729 bytes)
pkts bytes target prot opt in out source destination
2559 168K MASQUERADE all -- * * 192.168.2.0/24 0.0.0.0/0
cat /proc/sys/net/ipv4/ip_forward
1
Może spróbuj zamiast regułki:
użyć takiej:
Czyli bez opcji -d
No i jeszcze zauważyłem brak opcja -A lub -I przed PREROUTING, ale to pewnie konsola o tym ci "powie".
Kod: Zaznacz cały
iptables -t nat PREROUTING -i eth1 -p tcp -d 85.x.x.x --dport 80 -j DNAT --to-destination 192.168.2.100:80
Kod: Zaznacz cały
iptables -t nat PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.100:80
No i jeszcze zauważyłem brak opcja -A lub -I przed PREROUTING, ale to pewnie konsola o tym ci "powie".