* Help in IPTABLES
@ 2003-01-11 5:46 Mohammad Shakir
2003-01-11 6:41 ` hare ram
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Mohammad Shakir @ 2003-01-11 5:46 UTC (permalink / raw)
To: netfilter
Dear Friends,
I have Installed Red Hat Linux 7.3 with hostname
SERVER1 ipaddress 192.168.0.1 and also configure
squid, DHCP, DNS services all are running well. I have
also 30 PCs of windows 98 as a client with auto ip and
set their gateway,dns,dhcpserver and so on from DHCP
192.168.0.1.
Now I want that any request for browsing come from
client automatically forward to my squid which is
running on 3128 port and all others request go on
direct ppp0 for this I configured one script which is
given below.
Is this script correct or not ?
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables --flush
/sbin/iptables --table nat --flush
/sbin/iptables --delete-chain
/sbin/iptables --table nat --delete-chain
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp
--dport 80 -j REDIRECT --to-port 3128
/sbin/iptables --table nat --append POSTROUTING -s
192.168.0.1/24 --out-interface ppp0 -j MASQUERADE
/sbin/iptables --append FORWARD --in-interface eth0 -j
ACCEPT
This is other setup.
I have setup two servers hostname server1 ip address
192.168.0.1 and hostname server2 ipaddress 192.168.0.2
both servers are connected with dialup sepratly and
also configure squid, DHCP, DNS services. I have also
100 PCs of windows 98 as a client with auto ip and set
their gateway,dns,dhcpserver and so on from DHCP
192.168.0.1.
Now I want that any request for browsing come from
client automatically forward to my squid which is
running on 3128 port on server 192.168.0.2 and all
others request go on direct ppp0 of 192.168.0.1.
Please help my what script I make for this.
I hope you will help me in this regard.
Thanks
MOHAMMAD SHAKIR
___________________________________________________________
Sent by ePrompter, the premier email notification
software.
Free download at http://www.ePrompter.com.
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: Help in IPTABLES 2003-01-11 5:46 Help in IPTABLES Mohammad Shakir @ 2003-01-11 6:41 ` hare ram 2003-01-11 7:57 ` Arnt Karlsen 2003-01-11 8:31 ` Joel Newkirk 2 siblings, 0 replies; 8+ messages in thread From: hare ram @ 2003-01-11 6:41 UTC (permalink / raw) To: Mohammad Shakir, netfilter Hi yes thats works fine instead of that, you can also try routing your block of local ip's rather interface.. iptables -t nat -A PREROUTING -s 192.168.20.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128 good luck hare ----- Original Message ----- From: "Mohammad Shakir" <shakirz1@yahoo.com> To: <netfilter@lists.netfilter.org> Sent: Saturday, January 11, 2003 11:16 AM Subject: Help in IPTABLES > Dear Friends, > > I have Installed Red Hat Linux 7.3 with hostname > SERVER1 ipaddress 192.168.0.1 and also configure > squid, DHCP, DNS services all are running well. I have > also 30 PCs of windows 98 as a client with auto ip and > set their gateway,dns,dhcpserver and so on from DHCP > 192.168.0.1. > Now I want that any request for browsing come from > client automatically forward to my squid which is > running on 3128 port and all others request go on > direct ppp0 for this I configured one script which is > given below. > > Is this script correct or not ? > > echo 1 > /proc/sys/net/ipv4/ip_forward > /sbin/iptables --flush > /sbin/iptables --table nat --flush > /sbin/iptables --delete-chain > /sbin/iptables --table nat --delete-chain > > /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp > --dport 80 -j REDIRECT --to-port 3128 > /sbin/iptables --table nat --append POSTROUTING -s > 192.168.0.1/24 --out-interface ppp0 -j MASQUERADE > /sbin/iptables --append FORWARD --in-interface eth0 -j > ACCEPT > > This is other setup. > > I have setup two servers hostname server1 ip address > 192.168.0.1 and hostname server2 ipaddress 192.168.0.2 > both servers are connected with dialup sepratly and > also configure squid, DHCP, DNS services. I have also > 100 PCs of windows 98 as a client with auto ip and set > their gateway,dns,dhcpserver and so on from DHCP > 192.168.0.1. > > Now I want that any request for browsing come from > client automatically forward to my squid which is > running on 3128 port on server 192.168.0.2 and all > others request go on direct ppp0 of 192.168.0.1. > Please help my what script I make for this. > > I hope you will help me in this regard. > > Thanks > > MOHAMMAD SHAKIR > > > ___________________________________________________________ > Sent by ePrompter, the premier email notification > software. > Free download at http://www.ePrompter.com. > > __________________________________________________ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up now. > http://mailplus.yahoo.com > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Help in IPTABLES 2003-01-11 5:46 Help in IPTABLES Mohammad Shakir 2003-01-11 6:41 ` hare ram @ 2003-01-11 7:57 ` Arnt Karlsen 2003-01-12 2:32 ` Joel Newkirk 2003-01-11 8:31 ` Joel Newkirk 2 siblings, 1 reply; 8+ messages in thread From: Arnt Karlsen @ 2003-01-11 7:57 UTC (permalink / raw) To: netfilter On Fri, 10 Jan 2003 21:46:56 -0800 (PST), Mohammad Shakir <shakirz1@yahoo.com> wrote in message <20030111054656.20063.qmail@web40711.mail.yahoo.com>: > Dear Friends, > > I have Installed Red Hat Linux 7.3 with hostname > SERVER1 ipaddress 192.168.0.1 and also configure > squid, DHCP, DNS services all are running well. I have > also 30 PCs of windows 98 as a client with auto ip and > set their gateway,dns,dhcpserver and so on from DHCP > 192.168.0.1. > Now I want that any request for browsing come from > client automatically forward to my squid which is > running on 3128 port and all others request go on > direct ppp0 for this I configured one script which is > given below. > > Is this script correct or not ? > > echo 1 > /proc/sys/net/ipv4/ip_forward ..echo 0 here... > /sbin/iptables --flush > /sbin/iptables --table nat --flush > /sbin/iptables --delete-chain > /sbin/iptables --table nat --delete-chain > > /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp > --dport 80 -j REDIRECT --to-port 3128 > /sbin/iptables --table nat --append POSTROUTING -s > 192.168.0.1/24 --out-interface ppp0 -j MASQUERADE > /sbin/iptables --append FORWARD --in-interface eth0 -j > ACCEPT > ...and echo 1 here at the end, to close the barn door. > This is other setup. > > I have setup two servers hostname server1 ip address > 192.168.0.1 and hostname server2 ipaddress 192.168.0.2 > both servers are connected with dialup sepratly and > also configure squid, DHCP, DNS services. I have also > 100 PCs of windows 98 as a client with auto ip and set > their gateway,dns,dhcpserver and so on from DHCP > 192.168.0.1. > > Now I want that any request for browsing come from > client automatically forward to my squid which is > running on 3128 port on server 192.168.0.2 and all > others request go on direct ppp0 of 192.168.0.1. > Please help my what script I make for this. > > I hope you will help me in this regard. > > Thanks > > MOHAMMAD SHAKIR ..unless you can afford to hire my firm, learn from http://tldp.org/HOWTO/HOWTO-INDEX/networking.html . -- ..med vennlig hilsen = with Kind Regards from Arnt... ;-) ...with a number of polar bear hunters in his ancestry... Scenarios always come in sets of three: best case, worst case, and just in case. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Help in IPTABLES 2003-01-11 7:57 ` Arnt Karlsen @ 2003-01-12 2:32 ` Joel Newkirk 2003-01-12 8:01 ` Arnt Karlsen 0 siblings, 1 reply; 8+ messages in thread From: Joel Newkirk @ 2003-01-12 2:32 UTC (permalink / raw) To: Arnt Karlsen, netfilter On Saturday 11 January 2003 02:57 am, Arnt Karlsen wrote: > On Fri, 10 Jan 2003 21:46:56 -0800 (PST), > Mohammad Shakir <shakirz1@yahoo.com> wrote in message > > <20030111054656.20063.qmail@web40711.mail.yahoo.com>: > > Dear Friends, [snipped] > > Please help my what script I make for this. > > > > I hope you will help me in this regard. > > > > Thanks > > > > MOHAMMAD SHAKIR > > ..unless you can afford to hire my firm, learn from > http://tldp.org/HOWTO/HOWTO-INDEX/networking.html . I think that's pretty unnecessary. Referring to a useful reference is great. Doing so with an attitude isn't. This IS the neftilter user list. People come here with questions, often with minimal experience and background. In fact Mr Shakir's post included a script (which needs some work, which I noted in my reply) and then asked for advice on a second similar situation. If all you have to offer is a link and a kick in the ass, why bother? j ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Help in IPTABLES 2003-01-12 2:32 ` Joel Newkirk @ 2003-01-12 8:01 ` Arnt Karlsen 2003-01-13 20:30 ` Joel Newkirk 0 siblings, 1 reply; 8+ messages in thread From: Arnt Karlsen @ 2003-01-12 8:01 UTC (permalink / raw) To: netfilter On Sat, 11 Jan 2003 21:32:00 -0500, Joel Newkirk <netfilter@newkirk.us> wrote in message <200301112132.00991.netfilter@newkirk.us>: > On Saturday 11 January 2003 02:57 am, Arnt Karlsen wrote: > > On Fri, 10 Jan 2003 21:46:56 -0800 (PST), > > Mohammad Shakir <shakirz1@yahoo.com> wrote in message > > > > <20030111054656.20063.qmail@web40711.mail.yahoo.com>: > > > Dear Friends, > > [snipped] > > > > Please help my what script I make for this. > > > > > > I hope you will help me in this regard. > > > > > > Thanks > > > > > > MOHAMMAD SHAKIR > > > > ..unless you can afford to hire my firm, learn from > > http://tldp.org/HOWTO/HOWTO-INDEX/networking.html . > > I think that's pretty unnecessary. Referring to a useful reference is > great. Doing so with an attitude isn't. This IS the neftilter user > list. People come here with questions, often with minimal experience ..seeing what came here, I agree. Mohammad, I apologize. > and background. In fact Mr Shakir's post included a script (which ..yes, people often get into working close to the borders on our competence and need help, and can pay for it, at other times we cannot pay for help, and need advice to know how to do it ourselves. ..the wee point I was trying to make, is an iptables firewall is vulnerable while it is being set up, so echo "0" first to stop forwarding, set up the firewall, and echo "1" at the end of the script to start forwarding again, a wee nit into your helpful responses to him. > needs some work, which I noted in my reply) and then asked for advice > on a second similar situation. If all you have to offer is a link and > a kick in the ass, why bother? ..I believe gentle kicks into the right direction are warranted. Like your kick here. ;-) -- ..med vennlig hilsen = with Kind Regards from Arnt... ;-) ...with a number of polar bear hunters in his ancestry... Scenarios always come in sets of three: best case, worst case, and just in case. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Help in IPTABLES 2003-01-12 8:01 ` Arnt Karlsen @ 2003-01-13 20:30 ` Joel Newkirk 2003-01-14 4:33 ` Andrew Smith 0 siblings, 1 reply; 8+ messages in thread From: Joel Newkirk @ 2003-01-13 20:30 UTC (permalink / raw) To: Arnt Karlsen, netfilter On Sunday 12 January 2003 03:01 am, Arnt Karlsen wrote: > ..the wee point I was trying to make, is an iptables firewall is > vulnerable while it is being set up, so echo "0" first to stop > forwarding, set up the firewall, and echo "1" at the end of the > script to start forwarding again, a wee nit into your helpful > responses to him. I do this myself in my script, but believe there is an additional solution, at least for some distros: I'm running RedHat 7.3, and so everything runs off SysV-Init. I was greatly bothered by the fact that the S07iptables startup link would get run quite a bit (well, a few seconds at least :^) before my firewall would. Changing my firewall to a lower number in the sequence wouldn't work easily, since I'm on a Dynamic IP at the moment and had to start up ADSL to get the IP, since I use it 'statically' in SNAT. It also would need (or at least want) syslog up and running. Couldn't easily move ADSL up in the sequence, since it depended on networking in general. Everything is pretty much fixed in the sequence it already starts in. Then it occurred to me: Modify the /etc/init.d/iptables script to set DROP policies, instead of the horribly shortsighted ACCEPT default it uses. As soon as this occurred to me I changed it, and I feel much more comfortable now, knowing that if the whole startup collapses right after iptables and network scripts, I'm still not wide open. My sequence now is iptables->ip6tables->network->syslog->ADSL->firewall->ip6firewall->freenet (freenet is the startup for the IPv6inIPv4 tunnel) I modified the /etc/init.d/iptables script to set DROP policies in both the 'start' and 'stop' functions. Despite being more comfortable with this, I'd like to hear if anyone sees a hole in my reasoning. j ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Help in IPTABLES 2003-01-13 20:30 ` Joel Newkirk @ 2003-01-14 4:33 ` Andrew Smith 0 siblings, 0 replies; 8+ messages in thread From: Andrew Smith @ 2003-01-14 4:33 UTC (permalink / raw) To: netfilter > On Sunday 12 January 2003 03:01 am, Arnt Karlsen wrote: > >> ..the wee point I was trying to make, is an iptables firewall is >> vulnerable while it is being set up, so echo "0" first to stop >> forwarding, set up the firewall, and echo "1" at the end of the >> script to start forwarding again, a wee nit into your helpful >> responses to him. > > I do this myself in my script, but believe there is an additional > solution, at least for some distros: > > I'm running RedHat 7.3, and so everything runs off SysV-Init. I was > greatly bothered by the fact that the S07iptables startup link would > get run quite a bit (well, a few seconds at least :^) before my > firewall would. Changing my firewall to a lower number in the > sequence wouldn't work easily, since I'm on a Dynamic IP at the moment > and had to start up ADSL to get the IP, since I use it 'statically' in > SNAT. It also would need (or at least want) syslog up and running. > Couldn't easily move ADSL up in the sequence, since it depended on > networking in general. Everything is pretty much fixed in the > sequence it already starts in. > > Then it occurred to me: Modify the /etc/init.d/iptables script to set > DROP policies, instead of the horribly shortsighted ACCEPT default it > uses. As soon as this occurred to me I changed it, and I feel much > more comfortable now, knowing that if the whole startup collapses > right after iptables and network scripts, I'm still not wide open. > > My sequence now is > iptables->ip6tables->network->syslog->ADSL->firewall->ip6firewall- >freenet > (freenet is the startup for the IPv6inIPv4 tunnel) > > I modified the /etc/init.d/iptables script to set DROP policies in both > the 'start' and 'stop' functions. > > Despite being more comfortable with this, I'd like to hear if anyone > sees a hole in my reasoning. > > j Totally lacking in useful details but ... I setup 2 client machines with RH7.3 back in August ... I always modify the "network" script to run my own rc.firewall (that's just how I do it ;-) I used to do it before the interfaces came up, I've now changed it to do so AFTER the interfaces come up The reason is that 7.3 wouldn't forward packets to the internet unless my firewall script was run after the interfaces started. Internet connection using ADSL (I liked the "before" option coz it avoided the short hole in security while booting ... on ipchains) I didn't go into the details of what was going on, but I worked it out by reinstalling my own 6.2 firewall as 7.3 and then spotted the solution to whatever problem I had caused (I never worked out exactly what the problem was) by the fact that it worked if I AGAIN ran my rc.firewall after it had finished booting Anyway - just a hint if you happen to get the same problem with your "iptables->ip6tables->network->syslog->AD SL->firewall->ip6firewall->freenet" though it may never happen to you ... I never did bother to work out the true cause :-) -- -Cheers -Andrew MS ... if only he hadn't been hang gliding! ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Help in IPTABLES 2003-01-11 5:46 Help in IPTABLES Mohammad Shakir 2003-01-11 6:41 ` hare ram 2003-01-11 7:57 ` Arnt Karlsen @ 2003-01-11 8:31 ` Joel Newkirk 2 siblings, 0 replies; 8+ messages in thread From: Joel Newkirk @ 2003-01-11 8:31 UTC (permalink / raw) To: Mohammad Shakir, netfilter On Saturday 11 January 2003 12:46 am, Mohammad Shakir wrote: > Dear Friends, > > I have Installed Red Hat Linux 7.3 with hostname > SERVER1 ipaddress 192.168.0.1 and also configure > squid, DHCP, DNS services all are running well. I have > also 30 PCs of windows 98 as a client with auto ip and > set their gateway,dns,dhcpserver and so on from DHCP > 192.168.0.1. > Now I want that any request for browsing come from > client automatically forward to my squid which is > running on 3128 port and all others request go on > direct ppp0 for this I configured one script which is > given below. > > Is this script correct or not ? > > echo 1 > /proc/sys/net/ipv4/ip_forward > /sbin/iptables --flush > /sbin/iptables --table nat --flush > /sbin/iptables --delete-chain > /sbin/iptables --table nat --delete-chain > > /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp > --dport 80 -j REDIRECT --to-port 3128 > /sbin/iptables --table nat --append POSTROUTING -s > 192.168.0.1/24 --out-interface ppp0 -j MASQUERADE > /sbin/iptables --append FORWARD --in-interface eth0 -j > ACCEPT You also need a rule (or rules) to allow reply traffic back through the FORWARD chain. The following would probably suffice: /sbin/iptables -A FORWARD -o ETH0 -m state \ --state ESTABLISHED,RELATED -j ACCEPT In addition, to use the MASQUERADE target you also need to enable tracking of the interface's dynamic IP with: echo 1 > /proc/sys/net/ipv4/ip_dynaddr If the IP is static, just use "-J SNAT --to " and the static IP. I would _STRONGLY_ suggest that you set default DROP policy for all three filter chains, (INPUT, OUTPUT, and FORWARD with either "-t filter" or no table specified) and explicit ACCEPT rules for INPUT and OUTPUT that the server requires. (Don't forget that this includes dport3128 in and dport80 out for squid to work, as well as DHCP and DNS traffic) This will also require ACCEPT rules for FORWARD traffic, but the one you have listed plus the one I noted should handle any traffic FROM the LAN and any replies TO the LAN. Finally, to be safe, you should only enable forwarding (your first line above) AFTER you have set DROP policy, preferably after all rules are in place. If you really trust your LAN, you can fly with the FORWARD rule you have, but you can also tighten things up quite a bit in the FORWARD chain by ACCEPTing only specific traffic. If you do this, you can add another EST/REL rule for traffic from the LAN, or just remove the interface match from the one suggested above. It's not vital to have DROP policy for OUTPUT, but it IS pretty much vital to DROP anything you don't explicitly need in INPUT, and probably FORWARD. As this ruleset stands, anyone on the internet can connect to any port on this server, which is a really bad idea. > This is other setup. > > I have setup two servers hostname server1 ip address > 192.168.0.1 and hostname server2 ipaddress 192.168.0.2 > both servers are connected with dialup sepratly and > also configure squid, DHCP, DNS services. I have also > 100 PCs of windows 98 as a client with auto ip and set > their gateway,dns,dhcpserver and so on from DHCP > 192.168.0.1. > > Now I want that any request for browsing come from > client automatically forward to my squid which is > running on 3128 port on server 192.168.0.2 and all > others request go on direct ppp0 of 192.168.0.1. > Please help my what script I make for this. Essentially the same setup on server1 as your previous scenario, all my comments apply here as well. Clients should be configured with server1 as their gateway, and instead of "-j REDIRECT --to-port 3128" you use "-j DNAT --to 192.168.0.2:3128". Make sure that these packets are allowed through the FORWARD chain now. Server2 will need to accept connections in INPUT from server1, but should probably REJECT others from the LAN. It should have no need to forward at all, and anything but replies from the internet should just be DROPped. It will also need a MASQUERADE rule for outbound traffic to the internet. For redundancy, you could set up server2 with the DNS and DHCP configuration from server1, but not enable these services. (actually you could even let them run, if the firewall doesn't allow INPUT or OUTPUT for them) Also keep a copy of server1's firewall script (from first scenario above, or second scenario modified to use REDIRECT instead of DNAT) on server2. This way if server1 goes down, or it's connection fails, server2 can take over with just an IP change, start DNS & DHCP, and run the alternate firewall script. The same ability would work in reverse, but easier: if server2 goes down you could delete the DNAT rule and insert a FORWARD rule to allow traffic through unhindered (and unproxied), or set up squid on server1 and replace the DNAT with REDIRECT. > I hope you will help me in this regard. > > Thanks > > MOHAMMAD SHAKIR j ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2003-01-14 4:33 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-01-11 5:46 Help in IPTABLES Mohammad Shakir 2003-01-11 6:41 ` hare ram 2003-01-11 7:57 ` Arnt Karlsen 2003-01-12 2:32 ` Joel Newkirk 2003-01-12 8:01 ` Arnt Karlsen 2003-01-13 20:30 ` Joel Newkirk 2003-01-14 4:33 ` Andrew Smith 2003-01-11 8:31 ` Joel Newkirk
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.