ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] HELP! Проброс портов через файрволл с политикой DROP
@ 2004-09-03  2:14 Maxim.Savrilov
  2004-09-03  6:17 ` Alexey Morsov
  0 siblings, 1 reply; 8+ messages in thread
From: Maxim.Savrilov @ 2004-09-03  2:14 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1565 bytes --]

Здравствуйте!

Есть файрволл, на котором на всех цепочках по-умолчанию политика DROP
Если мне нужно было какой-то сервис открыть, то я дописывал просто
соответствующие правила и все работало.

Но понадобилось пробросить порты с внешнего интерфейса во внутреннюю сетку.

$CLIENT_IP - ip клиента из внешней сети
$SERVER_IP - ip сервера из внутренней сети
$SERVICE - номер порта
$EXT_IF и $INT_IF = внешний и внутр интерфейсы файрволла
$EXT_IP - внешний ip файрволла

$IPTABLES -t nat -A PREROUTING -i $EXT_IF -p tcp -s $CLIENT_IP -d $EXT_IP --dport $SERVICE -j DNAT --to $SERVER_IP:$SERVICE

Такая конструкция работает, если политики выставлены в ACCEPT
При DROP все это обламывается
Пробовал и в FORWARD прописывать

$IPTABLES -A FORWARD -i $INT_IF -o $EXT_IF -p TCP -s $SERVER_IP --sport $SERVICE -j ACCEPT
$IPTABLES -A FORWARD -i $EXT_IF -o $INT_IF -p TCP -d $SERVER_IP --dport $SERVICE -j ACCEPT

и в INPUT-OUTPUT

$IPTABLES -A INPUT -i $EXT_IF -s $CLIENT_IP -p tcp -m tcp --dport $SERVICE -j ACCEPT
$IPTABLES -A INPUT -i $INT_IF -d $CLIENT_IP -p tcp -m tcp --sport $SERVICE -j ACCEPT
$IPTABLES -A OUTPUT -o $INT_IF -s $CLIENT_IP -p tcp -m tcp --dport $SERVICE -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT_IF -d $CLIENT_IP -p tcp -m tcp --sport $SERVICE -j ACCEPT


смотрел tcpdump на обоих интерфейсах - вроде все пакеты этими правилами перекрываются
Но все равно не работает.
Ничего не понимаю, помогите разобраться, пожалуйста!

-- 
No matter how subtle the wizard,
a knife in the shoulder blades will seriously cramp his style.

[-- Attachment #2: Type: application/pgp-signature, Size: 307 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] HELP! Проброс портов через файрволл с политикой DROP
  2004-09-03  2:14 [Comm] HELP! Проброс портов через файрволл с политикой DROP Maxim.Savrilov
@ 2004-09-03  6:17 ` Alexey Morsov
  2004-09-03  6:49   ` Maxim.Savrilov
  0 siblings, 1 reply; 8+ messages in thread
From: Alexey Morsov @ 2004-09-03  6:17 UTC (permalink / raw)
  To: community


Maxim.Savrilov@socenter.ru wrote:
> Здравствуйте!
> 
> Есть файрволл, на котором на всех цепочках по-умолчанию политика DROP
> Если мне нужно было какой-то сервис открыть, то я дописывал просто
> соответствующие правила и все работало.
> 
> Но понадобилось пробросить порты с внешнего интерфейса во внутреннюю сетку.
Я правильно понял - надо чтобы кто-то из интернета (внешней сети) 
  мог подключаться (т.е. инициировать соединение) к некой вашей 
машине в локальной сетке (т.е. в фейковом пространстве адресов)?

> 
> $CLIENT_IP - ip клиента из внешней сети
> $SERVER_IP - ip сервера из внутренней сети
По коду iptables - вот вы в FORWARD только server задействовали - 
а как же клиент?
И вообще- можно весь iptables в студию?

-- 
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai@jabber.ru
http://www.ricom.ru
http://www.fondmarket.ru


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] HELP! Проброс портов через файрволл с политикой DROP
  2004-09-03  6:17 ` Alexey Morsov
@ 2004-09-03  6:49   ` Maxim.Savrilov
  2004-09-03  7:25     ` Alexey Morsov
  2004-09-03 13:22     ` Dmitry Lebkov
  0 siblings, 2 replies; 8+ messages in thread
From: Maxim.Savrilov @ 2004-09-03  6:49 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 13643 bytes --]

On Fri, 03 Sep 2004 10:17:23 +0400
Alexey Morsov <samurai@ricom.ru> wrote:

> 
> Maxim.Savrilov@socenter.ru wrote:
> > Здравствуйте!
> > 
> > Есть файрволл, на котором на всех цепочках по-умолчанию политика DROP
> > Если мне нужно было какой-то сервис открыть, то я дописывал просто
> > соответствующие правила и все работало.
> > 
> > Но понадобилось пробросить порты с внешнего интерфейса во внутреннюю сетку.
> Я правильно понял - надо чтобы кто-то из интернета (внешней сети) 
>   мог подключаться (т.е. инициировать соединение) к некой вашей 
> машине в локальной сетке (т.е. в фейковом пространстве адресов)?

Да, все так и есть.


> > $CLIENT_IP - ip клиента из внешней сети
> > $SERVER_IP - ip сервера из внутренней сети
> По коду iptables - вот вы в FORWARD только server задействовали - 
> а как же клиент?
> И вообще- можно весь iptables в студию?

А так понимаю, что если я не указываю конкретный ip, то там ставится 0.0.0.0/0, т.е. все адреса

вот тут мой iptables. Все правила для проброса добавляю пока вручную в шелле,
поэтому их тут нет

Правил дофига, брал из какого-то скрипта, пробегавшего в этой же рассылке.

# Generated by iptables-save v1.2.7a on Thu Sep  2 15:28:28 2004
*nat
:PREROUTING ACCEPT [2001848:218448129]
:POSTROUTING ACCEPT [1181956:79241549]
:OUTPUT ACCEPT [1209217:78494570]
[19442:934620] -A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i $INT_IF -p tcp -m tcp --dport 80 -j DROP 
[31:1488] -A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i ppp1 -p tcp -m tcp --dport 80 -j DROP 
[8539:409856] -A PREROUTING -i $INT_IF -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 8081 
COMMIT
# Completed on Thu Sep  2 15:28:28 2004
# Generated by iptables-save v1.2.7a on Thu Sep  2 15:28:28 2004
*mangle
:PREROUTING ACCEPT [180250253:104012957492]
:INPUT ACCEPT [180415134:104137913486]
:FORWARD ACCEPT [2995441:1932619446]
:OUTPUT ACCEPT [182035824:72491054391]
:POSTROUTING ACCEPT [188661720:76333214483]
COMMIT
# Completed on Thu Sep  2 15:28:28 2004
# Generated by iptables-save v1.2.7a on Thu Sep  2 15:28:28 2004
*filter
:INPUT DROP [8300:251386]
:FORWARD DROP [54:10868]
:OUTPUT DROP [3:368]
[12422273:3856342276] -A INPUT -i lo -j ACCEPT 
[154335439:91451482717] -A INPUT -s 192.168.0.0/255.255.255.0 -i $INT_IF -j ACCEPT 
[201144:20771089] -A INPUT -s 192.168.0.0/255.255.255.0 -i ppp1 -j ACCEPT 
[0:0] -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
[4:192] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 3306 -j DROP 
[0:0] -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
[588:31288] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 8080 -j DROP 
[1022:48296] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 80 -j DROP 
[0:0] -A INPUT -s $EXT_IP -j DROP 
[0:0] -A INPUT -s 10.0.0.0/255.0.0.0 -j DROP 
[0:0] -A INPUT -s 172.16.0.0/255.240.0.0 -j DROP 
[0:0] -A INPUT -s 255.255.255.255 -j DROP 
[0:0] -A INPUT -d 0.0.0.0 -j DROP 
[0:0] -A INPUT -s 224.0.0.0/240.0.0.0 -j DROP 
[0:0] -A INPUT -s 240.0.0.0/248.0.0.0 -j DROP 
[9550:3444514] -A INPUT -s 0.0.0.0/255.0.0.0 -j DROP 
[0:0] -A INPUT -s 127.0.0.0/255.0.0.0 -j DROP 
[0:0] -A INPUT -s 169.254.0.0/255.255.0.0 -j DROP 
[0:0] -A INPUT -s 192.0.2.0/255.255.255.0 -j DROP 
[0:0] -A INPUT -s 224.0.0.0/224.0.0.0 -j DROP 
[1381:1111760] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 9000 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A INPUT -s 69.25.23.163 -d $EXT_IP -i $EXT_IF -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[57:2166] -A INPUT -d $EXT_IP -i $EXT_IF -p udp -m udp --sport 32769:65535 --dport 33434:33523 -j DROP 
[288120:57522455] -A INPUT -s 217.70.120.18 -d $EXT_IP -i $EXT_IF -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT 
[18:2284] -A INPUT -s 217.70.120.18 -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 53 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[78681:14730760] -A INPUT -s 217.71.128.65 -d $EXT_IP -i $EXT_IF -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT 
[0:0] -A INPUT -s 217.71.128.65 -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 53 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[5955144:5019625486] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 80 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[927875:105585542] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 443 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[12857:8072270] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 8080 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 119 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[824424:367013038] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 110 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 143 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[1202619:733002295] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --dport 25 -j ACCEPT 
[341059:15236375] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 25 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[187382:13533811] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --dport 995 -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 995 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[4147:354180] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 513:65535 --dport 22 -j ACCEPT 
[3162:306903] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 22 --dport 1022:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[45:2838] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 23 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[879:51980] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 113 -j ACCEPT 
[8373:336598] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 113 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 123 --dport 123 -j ACCEPT 
[12514:951064] -A INPUT -d $EXT_IP -i $EXT_IF -p udp -m udp --sport 123 --dport 123 -j ACCEPT 
[25:4315] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 43 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 79 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[4779:345420] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 21 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[4680:6677415] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 20 --dport 1024:65535 -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 6667 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[35268:1626746] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT 
[1:40] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 20 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[329145:405298696] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 873 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p tcp -m tcp --sport 2000:4000 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p udp -m udp --sport 4000 --dport 1024:65535 -j ACCEPT 
[16:1344] -A INPUT -d $EXT_IP -i $EXT_IF -p icmp -m icmp --icmp-type 0 -j ACCEPT 
[4619:395281] -A INPUT -d $EXT_IP -i $EXT_IF -p icmp -m icmp --icmp-type 3 -j ACCEPT 
[115:6440] -A INPUT -d $EXT_IP -i $EXT_IF -p icmp -m icmp --icmp-type 4 -j ACCEPT 
[824:59656] -A INPUT -d $EXT_IP -i $EXT_IF -p icmp -m icmp --icmp-type 11 -j ACCEPT 
[0:0] -A INPUT -d $EXT_IP -i $EXT_IF -p icmp -m icmp --icmp-type 12 -j ACCEPT 
[36538:1760934] -A INPUT -i $EXT_IF -p tcp -j DROP 
[460:45404] -A INPUT -i $EXT_IF -p udp -m udp --dport 0:1023 -j DROP 
[287:145873] -A INPUT -i $EXT_IF -p udp -m udp --dport 1024:65535 -j DROP 
[0:0] -A INPUT -i $EXT_IF -p icmp -m icmp --icmp-type 5 -j DROP 
[0:0] -A INPUT -i $EXT_IF -p icmp -m icmp --icmp-type 13/255 -j DROP 
[0:0] -A INPUT -s 192.168.0.245 -d 192.168.0.1 -p tcp -m tcp --dport 8080 -j DROP 
[0:0] -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
[0:0] -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
[0:0] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i $INT_IF -j DROP 
[0:0] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i ppp1 -j DROP 
[2673053:1796453766] -A FORWARD -s 192.168.0.0/255.255.255.0 -i $INT_IF -m state --state NEW,ESTABLISHED -j ACCEPT 
[211835:29932313] -A FORWARD -s 192.168.0.0/255.255.255.0 -i ppp1 -m state --state NEW,ESTABLISHED -j ACCEPT 
[73857:98151633] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i $EXT_IF -m state --state RELATED,ESTABLISHED -j ACCEPT 
[33:1716] -A FORWARD -i $EXT_IF -m state --state INVALID,NEW -j REJECT --reject-with icmp-port-unreachable 
[12422273:3856342276] -A OUTPUT -o lo -j ACCEPT 
[158957809:66817982745] -A OUTPUT -d 192.168.0.0/255.255.255.0 -o $INT_IF -j ACCEPT 
[211243:157350959] -A OUTPUT -d 192.168.0.0/255.255.255.0 -o ppp1 -j ACCEPT 
[694:26372] -A OUTPUT -s $EXT_IP -o $EXT_IF -p udp -m udp --sport 32769:65535 --dport 33434:33523 -j ACCEPT 
[292500:23517391] -A OUTPUT -s $EXT_IP -d 217.70.120.18 -o $EXT_IF -p udp -m udp --sport 1024:65535 --dport 53 -j ACCEPT 
[21:993] -A OUTPUT -s $EXT_IP -d 217.70.120.18 -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 53 -j ACCEPT 
[123795:9505270] -A OUTPUT -s $EXT_IP -d 217.71.128.65 -o $EXT_IF -p udp -m udp --sport 1024:65535 --dport 53 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -d 217.71.128.65 -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 53 -j ACCEPT 
[6051166:687660100] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT 
[967822:63867440] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 443 -j ACCEPT 
[16090:1881119] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 8080 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 119 -j ACCEPT 
[856329:37397021] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 110 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 143 -j ACCEPT 
[1105920:58145772] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 25 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[471210:635555160] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 25 -j ACCEPT 
[185748:113083297] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 995 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 995 -j ACCEPT 
[4433:645801] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 22 --dport 513:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[4128:247876] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1022:65535 --dport 22 -j ACCEPT 
[48:2017] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 23 -j ACCEPT 
[879:35160] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 113 --dport 1024:65535 -j ACCEPT 
[8728:452005] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 113 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 123 --dport 123 -j ACCEPT 
[12879:978804] -A OUTPUT -s $EXT_IP -o $EXT_IF -p udp -m udp --sport 123 --dport 123 -j ACCEPT 
[33:1452] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 43 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 79 -j ACCEPT 
[5349:262840] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT 
[2869:115252] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 20 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 6667 -j ACCEPT 
[31726:1854942] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 21 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 20 --dport 1024:65535 -j ACCEPT 
[228933:19144465] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT 
[7865:408980] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 873 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p tcp -m tcp --sport 1024:65535 --dport 2000:4000 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p udp -m udp --sport 1024:65535 --dport 4000 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p icmp -m icmp --icmp-type 3/4 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p icmp -m icmp --icmp-type 4 -j ACCEPT 
[34:2856] -A OUTPUT -s $EXT_IP -o $EXT_IF -p icmp -m icmp --icmp-type 8 -j ACCEPT 
[0:0] -A OUTPUT -s $EXT_IP -o $EXT_IF -p icmp -m icmp --icmp-type 12 -j ACCEPT 
[65135:4634113] -A OUTPUT -o $EXT_IF -j REJECT --reject-with icmp-port-unreachable 
COMMIT
# Completed on Thu Sep  2 15:28:28 2004



> 

-- 
>как там у вынь с fork()-ом то?
отлично, ставишь cygwin и отлично х!@#$%ь форки! (LOR)

[-- Attachment #2: Type: application/pgp-signature, Size: 307 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] HELP! Проброс портов через файрволл с политикой DROP
  2004-09-03  6:49   ` Maxim.Savrilov
@ 2004-09-03  7:25     ` Alexey Morsov
  2004-09-03  7:32       ` Ivan Fedorov
  2004-09-03 13:22     ` Dmitry Lebkov
  1 sibling, 1 reply; 8+ messages in thread
From: Alexey Morsov @ 2004-09-03  7:25 UTC (permalink / raw)
  To: community


Maxim.Savrilov@socenter.ru wrote:
>>Я правильно понял - надо чтобы кто-то из интернета (внешней сети) 
>>  мог подключаться (т.е. инициировать соединение) к некой вашей 
>>машине в локальной сетке (т.е. в фейковом пространстве адресов)?
> 
> 
> Да, все так и есть.
Э... у меня нет уверенности что такое реализуемо (может я и не 
прав - но тогда это должно как-то решаться в nat)

> А так понимаю, что если я не указываю конкретный ip, то там ставится 0.0.0.0/0, т.е. все адреса
Угу

> 
> вот тут мой iptables. Все правила для проброса добавляю пока вручную в шелле,
> поэтому их тут нет
> 
> Правил дофига, брал из какого-то скрипта, пробегавшего в этой же рассылке.
> 
> # Generated by iptables-save v1.2.7a on Thu Sep  2 15:28:28 2004
> *nat
Ненавижу iptables-save - читать невозможно :(

> *filter
> :INPUT DROP [8300:251386]
> :FORWARD DROP [54:10868]
Это ясно
> :OUTPUT DROP [3:368]
А вот это не очень - зачем?

> [12422273:3856342276] -A INPUT -i lo -j ACCEPT 
> [154335439:91451482717] -A INPUT -s 192.168.0.0/255.255.255.0 -i $INT_IF -j ACCEPT 
> [201144:20771089] -A INPUT -s 192.168.0.0/255.255.255.0 -i ppp1 -j ACCEPT 
> [0:0] -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
> [4:192] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 3306 -j DROP 
> [0:0] -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
> [588:31288] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 8080 -j DROP 
> [1022:48296] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 80 -j DROP 
> [0:0] -A INPUT -s $EXT_IP -j DROP 
> [0:0] -A INPUT -s 10.0.0.0/255.0.0.0 -j DROP 
> [0:0] -A INPUT -s 172.16.0.0/255.240.0.0 -j DROP 
> [0:0] -A INPUT -s 255.255.255.255 -j DROP 
Вот эти drop на кой - у вас же вся цепочка в drop?
Ваша INPUT меня просто ужасает - как вы в ней чего разбираете?
И чего у вас такого на роутере стоит что ему столько правил в 
INPUT надо?

> [0:0] -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
> [0:0] -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
> [0:0] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i $INT_IF -j DROP 
> [0:0] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i ppp1 -j DROP 
> [2673053:1796453766] -A FORWARD -s 192.168.0.0/255.255.255.0 -i $INT_IF -m state --state NEW,ESTABLISHED -j ACCEPT 
> [211835:29932313] -A FORWARD -s 192.168.0.0/255.255.255.0 -i ppp1 -m state --state NEW,ESTABLISHED -j ACCEPT 
> [73857:98151633] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i $EXT_IF -m state --state RELATED,ESTABLISHED -j ACCEPT 
> [33:1716] -A FORWARD -i $EXT_IF -m state --state INVALID,NEW -j REJECT --reject-with icmp-port-unreachable 

OUTPUT тоже не нужен... В вашей задаче пакеты транзитные - 
соответственно фильтр на FORWARD...

А client куда будет посулать запросы то? на какой адрес? На ваш 
реальный ip? Если да - и если с этого ip ничего больше ходить не 
может (а еще лучше если у них какой-то свой порт) - то тогда 
точно в nat - анализировать порт и source ip и менять его dest ip 
с вашего реального на тот ваш fake ip который нужен - кажеться 
это в iptables doc называеться DNAT - см. opennet.ru - я таким 
извратом к счастью не занимался так что только теория (у меня 
слава богу никаких несуразных просьб ходить ко мне в локалку из 
инета не поступало).



-- 
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai@jabber.ru
http://www.ricom.ru
http://www.fondmarket.ru


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] HELP! Проброс портов через файрволл с политикой DROP
  2004-09-03  7:25     ` Alexey Morsov
@ 2004-09-03  7:32       ` Ivan Fedorov
  0 siblings, 0 replies; 8+ messages in thread
From: Ivan Fedorov @ 2004-09-03  7:32 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1171 bytes --]

Alexey Morsov пишет:

>>> Я правильно понял - надо чтобы кто-то из интернета (внешней сети)
>>>  мог подключаться (т.е. инициировать соединение) к некой вашей машине
>>> в локальной сетке (т.е. в фейковом пространстве адресов)?
>>
>>
>>
>> Да, все так и есть.
> 
> Э... у меня нет уверенности что такое реализуемо (может я и не прав - но
> тогда это должно как-то решаться в nat)
iptables -t nat -A PREROUTING  -p tcp --destination-port 25 -j DNAT
--to-destination 192.168.0.1:25
>> :OUTPUT DROP [3:368]
> 
> А вот это не очень - зачем?
Это называется паранойя - профессиональное заболевание всех безопасников.

> А client куда будет посулать запросы то? на какой адрес? На ваш реальный
> ip? Если да - и если с этого ip ничего больше ходить не может (а еще
> лучше если у них какой-то свой порт) - то тогда точно в nat -
> анализировать порт и source ip и менять его dest ip с вашего реального
> на тот ваш fake ip который нужен - кажеться это в iptables doc
> называеться DNAT - см. opennet.ru - я таким извратом к счастью не
> занимался так что только теория (у меня слава богу никаких несуразных
> просьб ходить ко мне в локалку из инета не поступало).
Все просто...

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] HELP! Проброс портов через файрволл с политикой DROP
  2004-09-03  6:49   ` Maxim.Savrilov
  2004-09-03  7:25     ` Alexey Morsov
@ 2004-09-03 13:22     ` Dmitry Lebkov
  2004-09-07  2:27       ` Maxim.Savrilov
  1 sibling, 1 reply; 8+ messages in thread
From: Dmitry Lebkov @ 2004-09-03 13:22 UTC (permalink / raw)
  To: community

On Fri, 3 Sep 2004 13:49:39 +0700
Maxim.Savrilov@socenter.ru wrote:

> On Fri, 03 Sep 2004 10:17:23 +0400
> Alexey Morsov <samurai@ricom.ru> wrote:

[skip]

> 
> Правил дофига, брал из какого-то скрипта, пробегавшего в этой же рассылке.

Скрипт - в студию!

> # Generated by iptables-save v1.2.7a on Thu Sep  2 15:28:28 2004
> *nat
> :PREROUTING ACCEPT [2001848:218448129]
> :POSTROUTING ACCEPT [1181956:79241549]
> :OUTPUT ACCEPT [1209217:78494570]
> [0:0] -A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i $INT_IF -p tcp -m tcp --dport 80 -j DROP 
                                                        ^^^^^^^
Это откуда? В shell-script'е, который генерит
правила, ошибка? Насколько я знаю, iptables-save|
iptables-restore не позволяет таких конструкций.

До исправления этих ошибок дальше двигаться невозможно.

--
WBR, Dmmitry Lebkov


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] HELP! Проброс портов через файрволл с политикой DROP
  2004-09-03 13:22     ` Dmitry Lebkov
@ 2004-09-07  2:27       ` Maxim.Savrilov
  2004-09-07  7:06         ` Serge Polkovnikov
  0 siblings, 1 reply; 8+ messages in thread
From: Maxim.Savrilov @ 2004-09-07  2:27 UTC (permalink / raw)
  To: community


[-- Attachment #1.1: Type: text/plain, Size: 2350 bytes --]

On Sat, 4 Sep 2004 00:22:17 +1100
Dmitry Lebkov <dima@sakhalin.ru> wrote:

> On Fri, 3 Sep 2004 13:49:39 +0700
> Maxim.Savrilov@socenter.ru wrote:
> 
> > On Fri, 03 Sep 2004 10:17:23 +0400
> > Alexey Morsov <samurai@ricom.ru> wrote:
> 
> [skip]
> 
> > 
> > Правил дофига, брал из какого-то скрипта, пробегавшего в этой же рассылке.
> 
> Скрипт - в студию!

во вложении

> 
> > # Generated by iptables-save v1.2.7a on Thu Sep  2 15:28:28 2004
> > *nat
> > :PREROUTING ACCEPT [2001848:218448129]
> > :POSTROUTING ACCEPT [1181956:79241549]
> > :OUTPUT ACCEPT [1209217:78494570]
> > [0:0] -A PREROUTING -d ! 192.168.0.0/255.255.255.0 -i $INT_IF -p tcp -m tcp --dport 80 -j DROP 
>                                                         ^^^^^^^
> Это откуда? В shell-script'е, который генерит
> правила, ошибка? Насколько я знаю, iptables-save|
> iptables-restore не позволяет таких конструкций.
> 
> До исправления этих ошибок дальше двигаться невозможно.

Нет, это я поменял, в предыдущих письмах у меня была легенда про все эти переменные

Ошибок нет, все грузится нормально.

Но порты нифига не пробрасывает

залез даже на http://www.iptables-script.dk/index1.php

выставил там порт-форвардинг и полученный скрипт запустил после отключения своего файрволла
и то же самое
вижу запросы на соединение, а ответов во внутренней сети нет


#!/bin/sh

# iptables script generator: V0.1-2002
# Comes with no warranty!
# e-mail: michael@1go.dk

# Diable forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward

LAN_IP_NET='192.168.0.1/24'
LAN_NIC='eth1'
WAN_IP='x.x.x.x'
WAN_NIC='eth0'
FORWARD_IP='y.y.y.y'

# load some modules (if needed)

# Flush
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -F OUTPUT
iptables -F

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# STATE RELATED for router
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Open ports to server on LAN
iptables -A FORWARD -j ACCEPT -p tcp --dport 3389
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to y.y.y.y:3389

# Enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward



уж тут-то что не так?


-- 
В эпоху романтизма инета мне на root@... девушки писали.
А сейчас роботы, пауки и дебилы... (c) Sun-ch

[-- Attachment #1.2: firewall.bz2 --]
[-- Type: application/x-bzip2, Size: 5212 bytes --]

[-- Attachment #2: Type: application/pgp-signature, Size: 307 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] HELP! Проброс портов через файрволл с политикой DROP
  2004-09-07  2:27       ` Maxim.Savrilov
@ 2004-09-07  7:06         ` Serge Polkovnikov
  0 siblings, 0 replies; 8+ messages in thread
From: Serge Polkovnikov @ 2004-09-07  7:06 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]

вівторок, 07-вер-2004 05:27, Maxim.Savrilov@socenter.ru написал:
> # Diable forwarding
> echo 0 > /proc/sys/net/ipv4/ip_forward
>
> LAN_IP_NET='192.168.0.1/24'
> LAN_NIC='eth1'
> WAN_IP='x.x.x.x'
> WAN_NIC='eth0'
> FORWARD_IP='y.y.y.y'
>
> # load some modules (if needed)
>
> # Flush
> iptables -t nat -F POSTROUTING
> iptables -t nat -F PREROUTING
> iptables -t nat -F OUTPUT
> iptables -F
>
> iptables -P INPUT DROP
> iptables -P FORWARD DROP
> iptables -P OUTPUT ACCEPT
>
> # STATE RELATED for router
> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
>
> # Open ports to server on LAN
> iptables -A FORWARD -j ACCEPT -p tcp --dport 3389

А правило разрешающее прохождение пакотов в обратную сторону?


> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT
> --to y.y.y.y:3389
>
> # Enable forwarding
> echo 1 > /proc/sys/net/ipv4/ip_forward
>
>
>
> уж тут-то что не так?

-- 
С уважением,
   Сергей Полковников        JID: p_serge@jabber.ru

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2004-09-07  7:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-03  2:14 [Comm] HELP! Проброс портов через файрволл с политикой DROP Maxim.Savrilov
2004-09-03  6:17 ` Alexey Morsov
2004-09-03  6:49   ` Maxim.Savrilov
2004-09-03  7:25     ` Alexey Morsov
2004-09-03  7:32       ` Ivan Fedorov
2004-09-03 13:22     ` Dmitry Lebkov
2004-09-07  2:27       ` Maxim.Savrilov
2004-09-07  7:06         ` Serge Polkovnikov

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git