Solved

How can I change my IP info on a daily basis?

Posted on 2002-05-17
6
234 Views
Last Modified: 2013-12-15
Currently, I have to do the following process manually, using the Mandrake
Config tools in X-Windows.  It takes me about 20 minutes.  Can you guys help
me figure out a script for the following:

- flush all IPtables rules (so the packet filters are not active)
- switch eth0 from a static IP to DHCP
- receive a DHCP IP address
- run a Perl Script that I have already
- switch eth0 back to a static IP
- restart my firewall.sh script to setup my packet filters again

I want to do the above on a nightly basis.  In Windows 2K, I would write a
batch file (using the netsh.exe command) and have the Scheduler service run
the batch file nightly.

In Linux, the scripting and scheduling look much different.

BTW, this is a Mandrake 8.1 box, P][-266, 64mb RAM, 4gb HD, running no
server services (no apache or whatnot).  It has 2 ethernet cards (eth0 and
eth1).


TIA!!!!!!!!!


0
Comment
Question by:cdub1234
6 Comments
 
LVL 40

Accepted Solution

by:
jlevie earned 38 total points
Comment Utility
That's the hard way to do a firewall. I'd guess that you probably have a statement something like:

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4

where 1.2.3.4 is the IP you get from the DHCP assignment and then configure eth0 to use. When you have a dynamic IP you should use:

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

so that iptables will track the changing IP that DHCP assigns to your outside interface. Obviously in that case you want to leave the outside NIC configured to use DHCP. There's no reason to go through the routine ao changing to DCHP to get the IP then configuring the system to use that IP statically when you can have iptables automatically adjust things as necessary to follow the changing IP.
0
 
LVL 6

Assisted Solution

by:st_steve
st_steve earned 37 total points
Comment Utility
And the scheduler service on Linux is "crond" and the "scheduler config file" is at /etc/crontab

Add your commands, scripts (and commands posted by jlevie) in this file and it should fire up when the time is right. If you need to change runlevels to do the tasks you've posted above, make sure the crond is running in that runlevel (the easiest way is to use chkconfig to configure whether crond runs in a particular runlevel).
0
 

Expert Comment

by:CleanupPing
Comment Utility
cdub1234:
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1
EXPERTS:
Post your closing recommendations!  No comment means you don't care.
0
 
LVL 1

Expert Comment

by:drewber
Comment Utility
This question has been classified abandoned. I will make a recommendation to the moderators on its resolution in a week or two. I appreciate any comments that would help me to make a recommendation.
 

Unless it is clear to me that the question has been answered I will recommend delete. It is possible that a Grade less than A will be given if no expert makes a case for an A grade. It is assumed that any participant not responding to this request is no longer interested in its final disposition.

 
If the user does not know how to close the question, the options are here:
http://www.experts-exchange.com/help/closing.jsp
 
drewber
0
 
LVL 12

Expert Comment

by:paullamhkg
Comment Utility
No comment has been added lately, so it's time to clean up this TA.
I will leave the following recommendation for this question in the Cleanup topic area:

Split: jlevie {http:#7020691} & st_steve {http:#7036444}

Please leave any comments here within the next four days.
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

paullamhkg
EE Cleanup Volunteer
0

Featured Post

Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

Join & Write a Comment

rdate is a Linux command and the network time protocol for immediate date and time setup from another machine. The clocks are synchronized by entering rdate with the -s switch (command without switch just checks the time but does not set anything). …
SSH (Secure Shell) - Tips and Tricks As you all know SSH(Secure Shell) is a network protocol, which we use to access/transfer files securely between two networked devices. SSH was actually designed as a replacement for insecure protocols that sen…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now