Linux设置共享上网的脚本
来源:互联网 发布:为什么淘宝分享打不开 编辑:程序博客网 时间:2024/05/22 17:46
在RedHat9.0-->linux-2.4.20-8和CentOS 5.1.3-->linux-2.6.18上测试通过了的:
方式1:将以下全部语句复制,再粘贴到“/etc/rc.d/rc.local”文件后面,开机后就可以自动执行了。
方式2:将以下语句全部复制,再粘贴到“终端”,它将自动配置、启动、显示一次。
当前PC在网络中所处的位置如图:
=============================================脚本开始
#!/bin/sh
INTIF1="eth1"
INTIF2="eth2"
EXTIF="eth0"
EXTIP="`/sbin/ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"
/sbin/depmod –a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat –F
iptables -A FORWARD -i $EXTIF -o $INTIF1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $EXTIF -o $INTIF2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF1 -o $EXTIF -j ACCEPT
iptables -A FORWARD -i $INTIF2 -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
==============================================脚本结束
之后,只要各个网段内的电脑设置网关为相应的那个网卡ethN,ip设置不冲突,就可以上网。
备注1:(参考了http://www.aboutdebian.com/proxy.htm李先静xianjimli@hotmail.com)
路由器=》
对外:60.232.100.116
对内:192.168.0.1
DNS:视环境而定
eth0=》
IP:192.168.0.2
网关:192.168.0.1
掩码:255.255.255.0
DNS:与路由器相同
eth1=》
IP:192.168.1.1
网关:空
掩码:空
DNS:空
eth2=》
IP:192.168.2.1
网关:空
掩码:空
DNS:空
...
ethN=》
IP:192.168.N.1
网关:空
掩码:空
DNS:空
这样,N个内网就可以通过N个网卡上网了...
备注2:(参考了http://www.xxlinux.com/linux/article/network/security/20060610/1205.html)
其实修改iptables同样可以用这种方式进行(其中,eth0、eth1分别是外、内网卡)。
======================================================
echo "Enable IP Forwarding..."
echo 1 >/proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
/sbin/modprobe iptable_filter
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp ;支持被动FTP
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_h323
/sbin/modprobe ip_nat_h323
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
/etc/rc.d/init.d/iptables restart
iptables –L
======================================================
在这个配置里面,INPUT和转发FORWARD功能的缺省值都是拒绝(DROP),这意味着在后面的INPUT和FORWARD语句中没有表明通过(ACCEPT)的都将被拒之门外。这是一个最好的安全模式,经过使用赛门铁克的在线测试,所有公网端口都是隐藏的。注意,所有内网端口都是打开的,本机对内没有安全可言。
每次修改完后,将整篇语句全部复制,再粘贴到“终端”,它将自动配置、启动、显示一次。反复修改、测试,直到达到你的要求。
iptables就是linux的防火墙,iptables规则就是linux的防火墙规则,脚本中具体命令的具体含义还在体会中...
- Linux设置共享上网的脚本
- Linux NAT共享上网脚本
- Vmware下Linux的安装、上网设置和共享文件夹
- Linux虚拟机NAT共享上网设置方法
- 共享上网脚本
- Ros固定IP共享上网的设置
- 在酒店共享上网的设置
- Windows共享上网的详细设置
- Linux Wifi共享上网脚本,类似win 7的Connectify工具
- Linux Wifi共享上网脚本,类似win 7的Connectify工具
- Linux Wifi共享上网脚本,类似win 7的Connectify工具
- Vmware下Linux的安装、上网设置和共享文件夹(转)
- VMware下linux Ubuntu10.04使用NAT共享主机IP上网方式的设置参考
- linux服务器设置(双网卡共享上网)
- Linux 单网卡通过NAT设置共享上网
- linux 使用NAT上网共享方式设置参考
- LINUX Win7下Vmware虚拟机共享上网设置
- 一个高效、安全、通用的防火墙共享上网脚本 (ZT)
- .NET中的序列化
- AccessHelper 下载
- Eclipse javadoc plugin: jautodoc
- 深入浅出Attribute(二)——Attribute本质论
- Jax-ws server side and client side
- Linux设置共享上网的脚本
- Nginx完整配置说明
- IT人不要一直做技术
- ms sql 将列转换成行
- sql用链接取代in查询
- "Atom Z5xx"新产品说明会 “希望年增长率达18%以上”
- 开发随感
- LINUX kernel 结构图示
- tomcat的安装问题解决:指定的服务并未以已安装的服务存在!