LinuxForum.Fans
Тема

Iptables - помогите нубу

Автор: sasha5434 21 сообщений 5564 просмотров
#173879
text
#!/bin/sh

# Включаем форвардинг пакетов echo 1 > /proc/sys/net/ipv4/ip_forward

# сбрасываем firewall iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

iptables -F iptables -X iptables -t nat -F

# настраиваем firewall

iptables -P OUTPUT ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #iptables -A FORWARD -i eth3 -o eth1 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth3 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Запрещаем NEW и INVALID требуемые маршрутизации пакеты с eth1. iptables -A FORWARD -i eth3 -j ACCEPT iptables -A FORWARD -i eth1 -j ACCEPT iptables -A FORWARD -i eth0 -j ACCEPT iptables -A FORWARD -i eth1 -m state --state NEW,INVALID -j DROP

i#Проброска порта на главный веб сервервер iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.8:80 iptables -A FORWARD -i eth1 -p tcp --dport 80 -d 192.168.0.8 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.8:80 iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.168.0.8 -j ACCEPT

text
iptables -L -n -v -t nat
Chain PREROUTING (policy ACCEPT 3083K packets, 3918M bytes)
 pkts bytes target     prot opt in     out     source               destination
    1    52 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:32702 to:192.168.0.9:32702
    1    93 DNAT       udp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           udp dpt:32702 to:192.168.0.9:32702
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:27016 to:192.168.0.10:27016
    7   371 DNAT       udp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           udp dpt:27016 to:192.168.0.10:27016
 4043  209K DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:192.168.0.8:80
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:192.168.0.8:80
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 to:192.168.0.8:8080
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:10007 to:192.168.0.8:10007
  152  7504 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 to:192.168.0.8:8080
  149  7360 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:10007 to:192.168.0.8:10007
    0     0 DNAT       udp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           udp dpt:21 to:192.168.0.9:21
  217 10804 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:10001 to:192.168.0.10:10001
  134  6760 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:27780 to:192.168.0.10:27780
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:27781 to:192.168.0.6:27781
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:10001 to:192.168.0.10:10001
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:27780 to:192.168.0.10:27780
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:27781 to:192.168.0.6:27781
   36  1784 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:2808 to:192.168.0.8:2808
   39  1963 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:1233 to:192.168.0.8:1233
    1    48 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:2106 to:192.168.0.10:2106
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:7777 to:192.168.0.10:7777
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8000 to:192.168.0.8:8000
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8767 to:192.168.0.8:8767
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:6689 to:192.168.0.9:6689
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:6688 to:192.168.0.9:6688
    0     0 DNAT       udp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           udp dpt:4179 to:192.168.0.9:4179
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:6689 to:192.168.0.9:6689
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:6688 to:192.168.0.9:6688
    0     0 DNAT       udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:4179 to:192.168.0.9:4179
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:411 to:192.168.0.8:411
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:411 to:192.168.0.8:411

Chain INPUT (policy ACCEPT 324 packets, 22549 bytes) pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 192 packets, 11233 bytes) pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 4786 packets, 246K bytes) pkts bytes target prot opt in out source destination 2477 254K MASQUERADE all -- * eth1 0.0.0.0/0 0.0.0.0/0 4 269 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0

Прошу помочь.
Проблема простая но решение найти не могу.
Из локалки нельзя попасть на сайт.
Из интернета все отлично работает.

eth1 - внешка
eth0 - ещё 1 внешка щас не активна
eth3 - локалка

Приведите пример верной настройки, знаю что тут нужен SNAT, но не пойму что да как)

#173895

Попробуй с OUTPUT поиграйся, было подобное, примерно вот в этом духе:

text
# REAL_IP - внешний настоящий IP
iptables -t nat -A PREROUTING  -i ppp0 -p tcp   --dport 80 -j DNAT --to-destination 192.168.1.2:80
iptables -t nat -A OUTPUT -p tcp --dst $REAL_IP --dport 80 -j DNAT --to-destination 192.168.1.2:80
#173912
text

#!/bin/sh

# Включаем форвардинг пакетов echo 1 > /proc/sys/net/ipv4/ip_forward

# сбрасываем firewall iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP

iptables -F iptables -X

iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth3 -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i eth3 -o eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth3 -j ACCEPT

#Проброска порта на главный веб сервервер iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.8:80 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.8:80

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#173913

Опиши какой интерфейс куда привязан.

#173918

eth1 - внешка
eth0 - ещё 1 внешка щас не активна
eth3 - локалка и свитч

#173923

Ну возьми за основу скрипт выше.

#173978

опишите как это может работать без подмены адресов обратно

text
iptables -t nat -A PREROUTING -i eth1 -p udp --dport 27016 -j DNAT --to-destination 192.168.0.10:27016
iptables -A FORWARD -i eth1 -p udp --dport 27016 -d 192.168.0.10 -j ACCEPT
#173981

iptables -A FORWARD -i eth3 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth3 -j ACCEPT

#173985

это не открывает случаем все порты на внешку?

#173986

угу ток во внешку

#173987

тоесть все спокойно могут конектится по ssh из вне?

у меня сейчас ssh можно подключить только внутри ната

#173988

ssh это к шлюзу за это отвечает INPUT
При выше изложенном конфиге будет доступ ток с вашей локалки.

#173990

что тогда вообще отвечает в этом примере за открытие портов на внешку (тех что мы пробросили)

#173991

вы их пробросили в цепочке PREROUTING

пакёт идёт так PREROUTING - FORWARD - 192.168.0.10

#173992

а как просто открыть порт с этого компьютора на внешку

было и работало)
Только вот нужен ли FORWARD

text
#Ventrilo
iptables -A INPUT -i eth1 -p tcp --dport 3784 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 3784 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 3784 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --dport 3784 -j ACCEPT
#173993

всё правильно ток это не надо
iptables -A FORWARD -i eth1 -p tcp --dport 3784 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --dport 3784 -j ACCEPT

#173995

перезагрузить можно, гарантию даете на то что локалка не отвалится?)

text
#!/bin/sh

# Включаем форвардинг пакетов echo 1 > /proc/sys/net/ipv4/ip_forward

# сбрасываем firewall iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

iptables -F iptables -X iptables -t nat -F

# настраиваем firewall

iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth3 -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Запрещаем NEW и INVALID требуемые маршрутизации пакеты с eth1. iptables -A FORWARD -i eth1 -m state --state NEW,INVALID -j DROP

iptables -A FORWARD -i eth3 -o eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth3 -j ACCEPT

#Проброска порта на главный веб сервервер iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.8:80 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j DNAT --to-destination 192.168.0.8:8080 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 10007 -j DNAT --to-destination 192.168.0.8:10007

#Lineage2 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 2808 -j DNAT --to-destination 192.168.0.8:2808 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1233 -j DNAT --to-destination 192.168.0.8:1233

#RF Online iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 27780 -j DNAT --to-destination 192.168.0.10:27780 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 10001 -j DNAT --to-destination 192.168.0.10:10001

#Cs 1.6 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 27016 -j DNAT --to-destination 192.168.0.10:27016 iptables -t nat -A PREROUTING -i eth1 -p udp --dport 27016 -j DNAT --to-destination 192.168.0.10:27016

#Radio iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8000 -j DNAT --to-destination 192.168.0.8:8000

#TeamSpeak iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8767 -j DNAT --to-destination 192.168.0.8:8767

#DC++ iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 6689 -j DNAT --to-destination 192.168.0.9:6689 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 6688 -j DNAT --to-destination 192.168.0.9:6688 iptables -t nat -A PREROUTING -i eth1 -p udp --dport 4179 -j DNAT --to-destination 192.168.0.9:4179

#torrent iptables -t nat -A PREROUTING -i eth1 -p udp --dport 32702 -j DNAT --to-destination 192.168.0.9:32702

#DC++ Hub iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 411 -j DNAT --to-destination 192.168.0.8:411

#Ventrilo iptables -A INPUT -i eth1 -p tcp --dport 3784 -j ACCEPT iptables -A INPUT -i eth1 -p udp --dport 3784 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#173996

iptables -P OUTPUT DROP
Зделай
iptables -P OUTPUT ACCEPT
после ребут

#173997

так все запустилось.. но из вне ни куда не конектит

#174000

всмысле к серву конекта не было на проброшеные порты.

text
#!/bin/sh

# Включаем форвардинг пакетов echo 1 > /proc/sys/net/ipv4/ip_forward

# сбрасываем firewall iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

iptables -F iptables -X iptables -t nat -F

# настраиваем firewall

iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth3 -j ACCEPT

iptables -P OUTPUT ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Запрещаем NEW и INVALID требуемые маршрутизации пакеты с eth1. iptables -A FORWARD -i eth1 -m state --state NEW,INVALID -j DROP

iptables -A FORWARD -i eth3 -o eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth3 -j ACCEPT

#Проброска порта на главный веб сервервер iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.8:80 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j DNAT --to-destination 192.168.0.8:8080 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 10007 -j DNAT --to-destination 192.168.0.8:10007

#Lineage2 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 2808 -j DNAT --to-destination 192.168.0.8:2808 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1233 -j DNAT --to-destination 192.168.0.8:1233

#RF Online iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 27780 -j DNAT --to-destination 192.168.0.10:27780 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 10001 -j DNAT --to-destination 192.168.0.10:10001

#Cs 1.6 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 27016 -j DNAT --to-destination 192.168.0.10:27016 iptables -t nat -A PREROUTING -i eth1 -p udp --dport 27016 -j DNAT --to-destination 192.168.0.10:27016

#Radio iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8000 -j DNAT --to-destination 192.168.0.8:8000

#TeamSpeak iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8767 -j DNAT --to-destination 192.168.0.8:8767

#DC++ iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 6689 -j DNAT --to-destination 192.168.0.9:6689 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 6688 -j DNAT --to-destination 192.168.0.9:6688 iptables -t nat -A PREROUTING -i eth1 -p udp --dport 4179 -j DNAT --to-destination 192.168.0.9:4179

#torrent iptables -t nat -A PREROUTING -i eth1 -p udp --dport 32702 -j DNAT --to-destination 192.168.0.9:32702

#DC++ Hub iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 411 -j DNAT --to-destination 192.168.0.8:411

#Ventrilo iptables -A INPUT -i eth1 -p tcp --dport 3784 -j ACCEPT iptables -A INPUT -i eth1 -p udp --dport 3784 -j ACCEPT

#Route #route add net 192.168.1.0 netmask 255.255.255.0 192.168.1.254 #route add default gw 94.242.50.129 eth1 #route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.240.1 eth0 #route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.240.1 eth0

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Войдите или зарегистрируйтесь, чтобы ответить.