Date: Wed, 26 Jun 2002 15:52:04 -0400 From: Anthony Volodkin <anthonyv@brainlink.com> To: Julian Elischer <julian@elischer.org> Cc: freebsd-net@freebsd.org Subject: Re: Forwarding UDP packets Message-ID: <3D1A1B64.402@brainlink.com> References: <Pine.BSF.4.21.0206261231580.64758-100000@InterJet.elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
I use poptop+the pppd that is included with 4.6-RELEASE. On the XP side, my friend just sets up a "Virtual Private Networking Connection" using the native XP client. Here are my /etc/ppp/options, if you wanted protocol info: lock debug auth proxyarp +chap +chapms +chapms-v2 and the relevant portion of ppp.conf: pptp: enable chap enable proxy set ifaddr 192.168.1.100 192.168.2.200-192.168.2.205 255.255.255.0 >what method of doing pptp are you using? > > >On Wed, 26 Jun 2002, Anthony Volodkin wrote: > > > >>Hi, >> >>Recently I've been faced with an odd problem. I setup a pptp link to my >>network from my friend's XP machine. While the link functions fine >>(both ends can ping each other, etc), there is one problem with it. I >>cannot get any broadcast packets through the link. I receive them on >>the tun0 interface, but no matter what I try i can't get them out of the >>fxp0 interface. I cannot get them to go the other way either. I know >>this is against standards, as they suggest routers should not forward >>broadcast packets, but I would still like to have this ability. >> >>Did anyone ever write a patch of some sort or maybe found a tool that >>does this type of thing? >>(many people suggested natd, and after playing with that i was able to >>redirect some bcast packets from tun0 to 1 host on my lan. I was not >>able to do that in the other direction, however.) >> >>I've found an old post on the hackers list by Jonathan Chen that >>included a patch to enable this kind of functionality. I applied it to >>my 4.6-RELEASE kernel and it didn't do anything but add a sysctl >>variable. Any help would be greatly appreciated. >> >>Here is that post: >> >>--------------------------------------------------- >> >>On FreeBSD -CURRENT and -STABLE, packets to broadcast addresses are not >>forwarded. For instance, if I have a FreeBSD router with interfaces >>192.168.1.1 and 192.168.2.1, and I send packets from 192.168.1.2 to >>192.168.2.255, the packets are dropped to the floor. IMO, this is wrong... >>but I haven't consulted all the RFC's so I'm not sure if some standard out >>there calls for it. In any case, the following patch creates a sysctl knob >>to turn on or off this feature (since it can be considered a security risk >>by some). I just want to ask around in case I turned out to be doing >>something incredibly evil. Comments? >> >>-Jon >> >>Index: in.h >>=================================================================== >>RCS file: /export/ncvs/src/sys/netinet/in.h,v >>retrieving revision 1.55 >>diff -u -r1.55 in.h >>--- in.h 2001/06/15 00:37:27 1.55 >>+++ in.h 2001/08/09 15:12:19 >>@@ -452,7 +452,8 @@ >> #define IPCTL_FASTFORWARDING 14 /* use fast IP forwarding code */ >> #define IPCTL_KEEPFAITH 15 /* FAITH IPv4->IPv6 translater ctl */ >> #define IPCTL_GIF_TTL 16 /* default TTL for gif encap packet */ >>-#define IPCTL_MAXID 17 >>+#define IPCTL_FORWARD_BROADCAST 18 /* forward broadcast packets */ >>+#define IPCTL_MAXID 18 >> >> #define IPCTL_NAMES { \ >> { 0, 0 }, \ >>Index: ip_input.c >>=================================================================== >>RCS file: /export/ncvs/src/sys/netinet/ip_input.c,v >>retrieving revision 1.174 >>diff -u -r1.174 ip_input.c >>--- ip_input.c 2001/06/23 17:17:58 1.174 >>+++ ip_input.c 2001/08/09 15:33:59 >>@@ -103,6 +103,10 @@ >> SYSCTL_INT(_net_inet_ip, IPCTL_FORWARDING, forwarding, CTLFLAG_RW, >> &ipforwarding, 0, "Enable IP forwarding between interfaces"); >> >>+int ipforward_broadcast = 0; >>+SYSCTL_INT(_net_inet_ip, IPCTL_FORWARD_BROADCAST, forward_broadcast, >>CTLFLAG_RW, >>+ &ipforward_broadcast, 0, "Enable broadcast packets when forwarding >>IP packets"); >>+ >> static int ipsendredirects = 1; /* XXX */ >> SYSCTL_INT(_net_inet_ip, IPCTL_SENDREDIRECTS, redirect, CTLFLAG_RW, >> &ipsendredirects, 0, "Enable sending IP redirects"); >>@@ -1684,7 +1688,8 @@ >> } >> >> error = ip_output(m, (struct mbuf *)0, &ipforward_rt, >>- IP_FORWARDING, 0); >>+ IP_FORWARDING| >>+ (ipforward_broadcast?IP_ALLOWBROADCAST:0), 0); >> if (error) >> ipstat.ips_cantforward++; >> else { >> >> >>-- >>Anthony Volodkin >> >> >>To Unsubscribe: send mail to majordomo@FreeBSD.org >>with "unsubscribe freebsd-net" in the body of the message >> >> >> > > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D1A1B64.402>