sysctl net.inet.gre.allow=1 ?

"pass proto gre" in your pf rules? 


On Thu, 21 Oct 2010 19:50:14 -0700
Peter Merritt <[email protected]> wrote:

>  Hate replying to my own post but anyone have any ideas on this. This
> for pptp pass thru not for a openbsd pptp server. Has anyone got this
> working  with 4.7 or 4.8 ?  
>                                       
>               
>  
> -----Original message-----
> To:[email protected]; 
> From:Peter Merritt
> <[email protected]>
> Sent:Tue 19-10-2010 16:00
> Subject:Can't get pptp
> vpn working.
> I just can not pass gre through a openbsd firewall, this was
> working fine with
> 4.6 a previous. 4.7 would pass traffic irratically  with
> this C7 motherboard,
> so I upgraded to 4.8 beta, and other that this problem
> it has been working
> well. what follow is my pf.conf and other information,
> would like some insight
> to this. Also since 4.7 on logging does not work like
> it used to when using
> tcpdump, for instance you will see that the box is
> passing rdp traffic, but it
> never logs it hitting the rule passing and rdr
> rdp traffic. I think I am
> missing somthing, or the packets are changed by the
> time it hits the rule so
> the rule is not triggered, any explantions would be
> greatly appreciated. 
>                                                        
>                     
>                                Peter 
> 
> 
> # uname -a
> OpenBSD
> Firewall.southwest-airmotive.com 4.8 GENERIC#126 i386
> 
> 
> We have 2
> ip's
> cat /etc/hostname.re0
> inet  98.191.121.43  255.255.255.240 NONE
> alias
> 98.191.121.44  255.255.255.255
> 
> # cat /etc/hostname.re1
> inet 192.168.0.254
> 255.255.255.0 NONE
> group ingress
> 
> # sysctl -a | grep gre
> net.inet.gre.allow=0         # I have also tried these setting on
> net.inet.gre.wccp=0
> 
> net.inet.ip.forwarding=1
> net.inet.ip.mforwarding=0
> net.inet6.ip6.forwarding=1
> net.inet6.ip6.mforwarding=0
> 
> 
> stripped down
> pf.conf,  with some experimentation also tried quick with this same
> results Ips and hostnames obfuscated. This box sits in front of sbs
> server. #Macros ##
> 
> ## Interfaces ##
> ext_if          = "re0"
> int_if          =
> "re1"
> 
> ## Global Variables ##
> ext_ip          =  "x.x.x.44"
> int_net      
>   =  $int_if:network
> gateway         = "192.168.0.254/32"
> server          =
> "192.168.0.1/32"
> mailgate        = "x.x.x.44"
> fake_mx         = "x.x.x.43"
> d_pc         = "192.168.0.31"
> ftp_port        =
> "8021"
> server_ports    = "{
> https,imaps,4125,4343 }" # pwm removed pptp 10/17
> smtp            = "{ 25 }"
> ssh_ports       = "{ ssh }"
> rdp             = "{
> 3389 }"
> antiscanport    =
> "{23:79, 6000:8000}"
> 
> icmp_types      = "{
> echoreq, unreach }"
> netbios    
>     = "{ epmap, netbios-ns, netbios-dgm,
> netbios-ssn, microsoft-ds }"
> trojan
>          = "{
> 3127,31791,6667,7000,8111,49400,54320,61439,61440,61441,65301,19,8998 }"
> 
> ##
> Tables ##
> table <authorized>    const file "/etc/tables/authorized"
> table
> <blacklist>     const file "/etc/tables/blacklist"
> table <ad_servers>  
> persist
> table <bogons>        persist file "/etc/tables/bogon-bn-nonagg.txt"
> #table <sinokorea>     persist file "/etc/tables/sinokoreacidr.txt"
> #table
> <adminservers> const file "/etc/tables/adminservers"
> table <bots>        
> persist
> table <authpf_users>  persist
> table <spamd-white>   persist
> 
> #
> filtering on lo0
> set skip on { lo0 enc0, $int_if }
> 
> 
> #match out log on
> egress from  $server              to any          tag EGRESS nat-to
> ($ext_if) static-port
> #match out log on egress from  $server              to
> any      
>    tag EGRESS nat-to ($ext_if:0) static-port
> #match out log on
> egress from
> !$server               to any          tag EGRESS nat-to ($ext_if)
> port
> 1024:65535
> #match out log on egress from !$server               to
> any      
>    tag EGRESS nat-to ($ext_if:0) port 1024:65535
> #match out log  on
> egress
> from (self)   to any                     tag EGRESS  nat-to ($ext_if)
> port
> 1024:65535
> #match out log  on egress from (self)   to
> any                  
>   tag EGRESS  nat-to ($ext_if:0) port 1024:65535
> match out on $ext_if from
> 192.168.0.0/24  nat-to ($ext_if)
> 
> ## Packet
> normalization ( "scrubbing" )
> #match log on $ext_if all scrub (random-id
> min-ttl 254 set-tos lowdelay
> reassemble tcp max-mss 1460)
> 
> ### Blocking
> spoofed packets: enable "set
> state-policy if-bound" above
> #antispoof log for
> { lo0 $int_if ($ext_if) }
> #block drop in log inet6
> #block drop in
> log             from no-route    to
> any
> #block return  in log on $ext_if 
> from <ad_servers> to any
> #block drop
> in log on $ext_if  from <blacklist> to
> any
> #block drop in log on $ext_if
>  from <bogons>    to any
> #block drop in
> log on $ext_if  from <sinokorea> to
> any
> #block drop in log on $ext_if  from
> <bots>  to any
> #block drop in log
> on $ext_if  from any to $ext_if:broadcast
> #block      in log on $ext_if  from
> 0.0.0.0/32
> #block      in log on $ext_if 
> from any to 224.0.0.1
> #block    
>  in log on $ext_if  from 224/8
> #block drop
> in log  on $ext_if  from any to
> 255.255.255.255
> #block drop in log on $ext_if
> proto {tcp,udp} from any to
> $ext_if port $netbios
> 
> 
> 
> # Urpf
> #block in
> log from urpf-failed label
> uRPF
> 
> 
> #block         out log on $ext_if proto 
> { tcp,udp }          to
> any port $trojan
> #block         out log on $int_if
> proto { tcp,udp }        
>   to any port $trojan
> #block         out log on
> $ext_if proto  { tcp,udp }
> from any to any port $netbios
> 
> 
> # Block rst on
> fake mx ip
> #block return
>  in log on $ext_if proto tcp              from any
> to        $fake_mx port
> smtp
> #block drop    in     on $ext_if proto {
> tcp,udp,icmp } from any to    
>    $fake_mx
> 
> ## Ftp
> anchor "ftp-proxy/*"
> ## Inbound on ext
> 
> # dns
> pass
>        in             log     on $ext_if
> proto udp      from $ext_if     to  
> ($ext_if) keep state
> 
> 
> # Gre
> pass         in            log     on $ext_if
>  proto gre      from
> $ext_if      to  ($ext_if)  rdr-to $server
> 
> pass      
>   in            
> log       on $ext_if inet proto udp      from $ext_if    
>  to   ($ext_if) 
> port 1194
> 
> 
> # Ssh inbound
> pass          in   log      on
> $ext_if inet
> proto tcp      from !($ext_if)       to  ($ext_if) port ssh
> rdr-to lo0
> 
> #
> Ntp Inbound
> pass         in   log        on $ext_if inet
> proto tcp       from
> !($ext_if)      to   ($ext_if) port ntp     \
>      
>  rdr-to lo0 port ntp
> # Inbound https, and imaps to Server
> pass          in  
> log     on $ext_if
> inet proto tcp      from !($ext_if)       to  ($ext_if)
> port $server_ports \
>       rdr-to $server  
> # PPTP
> pass          in   log  
>   on $ext_if inet
> proto tcp       from !($ext_if)       to  ($ext_if) port
> pptp  rdr-to
> $server      \
> 
> # IPSEC
> pass          in  log     on $ext_if
> inet proto
> tcp       from !($ext_if)       to  ($ext_if) port { 500, 4500 } \
> rdr-to
> $server
> 
> 
> # Inbound Rdp, looked down hard, 4 attempts in 5 mins
> pass         in   log       on $ext_if inet proto tcp      from 
> !($ext_if)  
>     to  ($ext_if) port 3389  rdr-to $server
> 
> # pass in Mail
> pass        
>  in   log      on $ext_if inet proto tcp       from 
> !($ext_if)      to
> ($ext_if) port smtp
> 
> # Pass in Magicjack to D's Computer
> pass         in  
> log     on $ext_if inet proto tcp        from 
> !($ext_if)       to ($ext_if)
> port smtp       rdr-to $d_pc
> 
> pass in log  on
> $ext_if proto udp
> pass in
> log  on $ext_if proto gre
> pass log on $int_if
> 
> 
> # tcpdump -ettti pflog0  
> host my.host.org and port ! ssh
> tcpdump: listening
> on pflog0, link-type
> PFLOG
> Oct 19 14:18:29.797288 rule 20/(match) pass in on
> re0:
> my.ip.cox.net.19499 > remote.customersdomain.com.pptp: S
> 2074584932:2074584932(0) win 64240 <mss 1260,nop,wscale
> 0,nop,nop,sackOK> (DF) Oct 19 14:19:12.163309 rule 20/(match) pass in
> on re0: my.ip.cox.net.19573 > remote.customersdomain.com.pptp: S
> 132277570:132277570(0) win 64240 <mss 1260,nop,wscale
> 0,nop,nop,sackOK> (DF) Oct 19 14:19:55.191611 rule 20/(match)
> pass in on re0: my.ip.cox.net.19599 >
> remote.customersdomain.com.pptp: S 2089194955:2089194955(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) Oct 19 14:20:38.381241
> rule 20/(match) pass in on re0: my.ip.cox.net.19610 >
> remote.customersdomain.com.pptp: S 904576831:904576831(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) Oct 19 14:21:12.346349
> rule 140/(match) pass in on re0: my.ip.cox.net.19622 >
> remote.customersdomain.com.pptp: S 1057217887:1057217887(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF)
> Oct 19 14:21:12.346377 rule 7/(match)
> match in on re0: my.ip.cox.net.19622 >
> remote.customersdomain.com.pptp: S 1057217887:1057217887(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) Oct 19 14:21:55.205457
> rule 140/(match) pass in on re0: my.ip.cox.net.19634 >
> remote.customersdomain.com.pptp: S 2338961963:2338961963(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) Oct 19 14:21:55.205484
> rule 7/(match) match in on re0: my.ip.cox.net.19634 >
> remote.customersdomain.com.pptp: S 2338961963:2338961963(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) Oct 19 14:21:57.901527
> rule 143/(match) pass in on re0: my.ip.cox.net.19635 >
> remote.customersdomain.com.3389: S 3113270439:3113270439(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) Oct 19 14:21:57.901554
> rule 7/(match) match in on re0: my.ip.cox.net.19635 >
> remote.customersdomain.com.3389: S 3113270439:3113270439(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) Oct 19 14:21:58.031096
> rule 143/(match) pass in on re0: my.ip.cox.net.19636 >
> remote.customersdomain.com.3389: S 950331510:950331510(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) Oct 19 14:21:58.031124
> rule 7/(match) match in on re0: my.ip.cox.net.19636 >
> remote.customersdomain.com.3389: S 950331510:950331510(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF) ^C
> 1514 packets received by filter
> 0 packets dropped by kernel
> 
> tcpdump:
> listening on re0, link-type EN10MB
> 14:28:28.076241 my.ip.cox.net.19828 >
> remote.customersdomain.com.pptp: S 113616150:113616150(0) win 64240
> <mss 1260,nop,wscale 0,nop,nop,sackOK> (DF)
> 14:28:28.077198
> remote.customersdomain.com.pptp > my.ip.cox.net.19828: S
> 1720183723:1720183723(0) ack 113616151 win 16384 <mss 1460,nop,wscale
> 0,nop,nop,sackOK> [tos 0x10]
> 14:28:28.101811 my.ip.cox.net.19828 >
> remote.customersdomain.com.pptp: P 1:157(156) ack 1 win 64240 (DF)
> 14:28:28.102509 remote.customersdomain.com.pptp >
> my.ip.cox.net.19828: P 1:157(156) ack 157 win 65379 (DF) [tos 0x10]
> 14:28:28.149145
> my.ip.cox.net.19828 > remote.customersdomain.com.pptp: P 157:325(168)
> ack 157 win 64084 (DF)
> 14:28:28.151124 remote.customersdomain.com.pptp >
> my.ip.cox.net.19828: P 157:189(32) ack 325 win 65211 (DF) [tos 0x10]
> 14:28:28.203823 my.ip.cox.net.19828 >
> remote.customersdomain.com.pptp: P 325:349(24) ack 189 win 64052 (DF)
> 14:28:28.218046 call 17341 seq 0
> gre-ppp-payload (gre encap)
> 14:28:28.381980 remote.customersdomain.com.pptp >
> my.ip.cox.net.19828: . ack 349 win 65187 (DF) [tos 0x10]
> 14:28:30.218240 call
> 17341 seq 1 gre-ppp-payload (gre encap)
> 14:28:33.214069 call 17341 seq 2
> gre-ppp-payload (gre encap)
> 14:28:37.214330 call 17341 seq 3 gre-ppp-payload
> (gre encap)
> 14:28:41.255383 call 17341 seq 4 gre-ppp-payload (gre encap)
> 14:28:45.215984 call 17341 seq 5 gre-ppp-payload (gre encap)
> 14:28:49.217986
> call 17341 seq 6 gre-ppp-payload (gre encap)
> 14:28:53.215778 call 17341 seq 7
> gre-ppp-payload (gre encap)
> 14:28:57.216361 call 17341 seq 8 gre-ppp-payload
> (gre encap)
> 
> tcpdump -i re1 host server.weirdwater.org  and port ! ssh
> tcpdump: listening on re1, link-type EN10MB
> 14:30:47.326211
> my.ip.cox.net.19868 > server.customers-domain.local.pptp: S
> 1431722393:1431722393(0) win 64240 <mss 1260,nop,wscale
> 0,nop,nop,sackOK> (DF) [tos 0x10]
> 14:30:47.326657 server.customers-domain.local.pptp >
> my.ip.cox.net.19868: S 1837099729:1837099729(0) ack 1431722394 win
> 16384 <mss 1460,nop,wscale 0,nop,nop,sackOK>
> 14:30:47.350838 my.ip.cox.net.19868 >
> server.customers-domain.local.pptp: P 1:157(156) ack 1 win 64240 (DF)
> [tos 0x10]
> 14:30:47.351285 server.customers-domain.local.pptp >
> my.ip.cox.net.19868: P 1:157(156) ack 157 win 65379 (DF)
> 14:30:47.372235
> my.ip.cox.net.19868 > server.customers-domain.local.pptp: P
> 157:325(168) ack 157 win 64084 (DF) [tos 0x10]
> 14:30:47.374092
> server.customers-domain.local.pptp > my.ip.cox.net.19868: P
> 157:189(32) ack 325 win 65211 (DF)
> 14:30:47.438026 my.ip.cox.net.19868 >
> server.customers-domain.local.pptp: P 325:349(24) ack 189 win 64052
> (DF) [tos 0x10]
> 14:30:47.617689 server.customers-domain.local.pptp >
> my.ip.cox.net.19868: . ack 349 win 65187 (DF)
> 14:31:24.503251
> my.ip.cox.net.19868 > server.customers-domain.local.pptp: P
> 349:365(16) ack 189 win 64052 (DF) [tos 0x10]
> 14:31:24.503696
> server.customers-domain.local.pptp > my.ip.cox.net.19868: P
> 189:337(148) ack 365 win 65171 (DF)
> 14:31:24.532445 my.ip.cox.net.19868 >
> server.customers-domain.local.pptp: P 365:381(16) ack 337 win 63904
> (DF) [tos 0x10]
> 14:31:24.532890 server.customers-domain.local.pptp >
> my.ip.cox.net.19868: P 337:353(16) ack 381 win 65155 (DF)
> 14:31:24.591852
> my.ip.cox.net.19868 > server.customers-domain.local.pptp: F
> 381:381(0) ack 353 win 63888 (DF) [tos 0x10]
> 14:31:24.592295 server.customers-domain.local.pptp
> > my.ip.cox.net.19868: F 353:353(0) ack 382 win 65155 (DF)
> 14:31:24.614119
> my.ip.cox.net.19868 > server.customers-domain.local.pptp: . ack 354
> win 63888 (DF) [tos 0x10]
> 


-- 
With best regards,
        Gregory Edigarov

Reply via email to