Napisałem skrypt który ma przekierować port 1022 z serwera na port 22 komputera w sieci lokalnej. Skrypt wygląda tak:
Mam tak:
Kod: Zaznacz cały
eth0 - interfejs zewnetrzny
eth1 - interfejs do sieci wewnetrznej
X.X.X.0 to jest zew adres sieci
X.X.X.1 - to jest zew. IP serwera
Kod: Zaznacz cały
#!/bin/bash
iptables -F
iptables -F PREROUTING -t nat
iptables -F POSTROUTING -t nat
iptables -A OUTPUT -d X.X.X.0/24 -j ACCEPT
iptables -A INPUT -s X.X.X.0/24 -j ACCEPT
iptables -A FORWARD -d X.X.X.0/24 -j ACCEPT
iptables -A FORWARD -s X.X.X.0/24 -j ACCEPT
iptables -A OUTPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT # ssh
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p udp --dport 22 -j ACCEPT # ssh
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT # www
iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.13/32 -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -d X.X.X.1/32 --dport 1022 -j DNAT --to-destination 192.168.1.13:22
Czy ktoś może potwierdzić czy ten skrypt jest poprawny?
Z góry dziękuję.
Julek