练习iptables的使用,实现linux下的双网卡共享上网。
环境:
windows xp 作为局域网客户机
redhat linux 作为网关
步骤:
因为我只有一台电脑,又要模拟两块网卡,所以我在xp装了一个virtualPC,装的是linux系统。又到网上找了一个
Linux单网卡双IP的的配置。照着做:
#cd /etc/sysconfig/network-scripts
#cp ifcfg-eth0 ifcfg-eth0:1
并把内容改一下:
DEVICE=”eth0:1″
IPADDR=”192.168.0.1″
BROADCAST=”192.168.0.255″
NETMASK=”255.255.255.0″
ONBOOT=”yes”
重启一下网卡:
/etc/init.d/network restart
[提示] 用ifup eth0:1不起作用,ping不通。请用network restart
配置Linux的NAT和ip_forward: 这里我直接从网上找了一个scripts。非常好用。
java 代码
- #!/bin/sh
- # Name: nat.sh
- # Author: Bixuan
- # Date: 2003/04/04
-
- echo "Your user the iptables firewall.";
- ETH="eth0" #有外网IP的网卡
- SRC="192.168.0.0/24" # 内网地址段
-
-
- case $1 in
- start)
- echo 1 > /proc/sys/net/ipv4/ip_forward
- /sbin/modprobe ip_tables
- /sbin/modprobe iptable_filter
- /sbin/modprobe iptable_nat
- /sbin/modprobe ip_conntrack
- /sbin/modprobe ip_conntrack_ftp
- /sbin/modprobe ip_nat_ftp
- /sbin/iptables -F INPUT
- /sbin/iptables -F FORWARD
- /sbin/iptables -F POSTROUTING -t nat
- /sbin/iptables -P FORWARD DROP
- /sbin/iptables -t nat -A POSTROUTING -o $ETH -s $SRC -j MASQUERADE
- /sbin/iptables -A FORWARD -i $ETH -m state --state ESTABLISHED,RELATED -j ACCEPT
- /sbin/iptables -A FORWARD -s $SRC -j ACCEPT
- echo "Nat is strating ...... [ OK ]"
- ;;
- stop)
- echo 0 > /proc/sys/net/ipv4/ip_forward
- ;;
- *)
- echo $"Usage: $0 {start|stop}";
- esac
把上面的scripts存起来nat.sh执行一下
#chmod u+x nat.sh
#./nat.sh
再配置局域网的机器如下配置:
ip: 192.168.0.x
netmask: 255.255.255.0
gw: 192.168.0.1
dns: 你的dns,我是网通,我配的是202.106.0.20
测试机器连通:
ping 192.168.0.1
ping www.163.com
都正常的话,再打开firefox上网,一切OK. 操练结束。
[提示]:
如果是真实环境,linux有双网卡,那么设置eth0为外网IP,eth1为192.168.0.1的内网IP。如果你本机不一定,修改ETH=为你的外网网卡标识。 一般是eth0,eth1
虽然是成功配置好了,但是我对
MASQUERADE和forward 那一句还是不理解,响应包的source然道是192.168.0.x? 不然网关怎么知道转给谁?
参考:
1. man iptables
2. google search with keyword "iptables共享上网"
分享到:
相关推荐
Linux 代理服务器共享上网的实现 Linux 代理服务器共享上网的实现是指通过配置 Linux 代理服务器,实现多台计算机共享一个宽带连接上网的技术。该技术可以节省宽带资源,提高网络的使用效率。 在本文中,我们将...
通过iptables实现端口转发和内网共享上网 本文将详细介绍如何使用iptables实现端口转发和内网共享上网。iptables是一个Linux下的优秀的nat+防火墙工具,可以配置灵活强劲的防火墙+nat系统。 首先,需要说明的是,...
Linux路由功能与共享上网的实现.pdf
标题中的"USB共享手机上网linux驱动"涉及到的是在Linux操作系统中,通过USB接口利用手机作为调制解调器(Modem)实现网络共享的技术。这种技术允许用户将手机与电脑连接,通过手机的数据网络为电脑提供上网服务。...
Linux下实现多机共享上网.pdf
本文介绍了如何使用 Linux 操作系统来实现 USB 设备的网络共享,以提高小型办公网和家庭式办公网的工作效率。在小型办公网和家庭式办公网中,使用免费的 Linux 操作系统构建一个完整的办公网络是一个不错的选择。USB...
Linux下用局域网拨号接入服务器实现共享上网.pdf
在本文档中,我们探讨的是如何使用Linux系统来共享上网连接,以便其他设备(例如Windows机器)也能通过Linux机器接入互联网。以下是对整个配置过程的详细说明: 首先,假设我们有一个简单的网络环境:一台装有Linux...
Linux下实现多机共享上网 (2).pdf
在Windows XP系统中使用VMware运行Linux虚拟机并实现共享上网是一个常见的需求,这涉及到虚拟化技术、网络配置以及操作系统间的交互。VMware是一款强大的虚拟机软件,它允许我们在一台物理机器上运行多个独立的操作...
这样,内网的其他设备可以通过交换机与服务器通信,实现共享上网。 接下来,确保已安装的pppoe协议软件版本至少为3.5-1。如果版本过低,可能会导致能连接到ADSL服务器但无法正常访问互联网。要升级pppoe软件,可以...
文章从实际应用场景出发,描述了如何使用 Linux 代理服务器实现 ADSL 上网共享,并实现了每周一至周五,每天 9:00 到 17:00 的定时开通。文章还详细介绍了如何使用 crontab 命令和 bash 编程来实现定时任务,并提供...
- **背景介绍**:在早期的公共机房中,为了实现共享上网,通常采取的方式是通过一台配备了双网卡的教师机器作为网关服务器,并安装Sygate等软件来实现对多台学生机器的互联网接入服务。这种方式适用于Windows XP系统...
《共享上网软件EasyShare——实现网络共享的利器》 在当今信息化社会,互联网已经成为人们生活中不可或缺的一部分。然而,有时候我们可能会遇到这样的情况:一台设备有网络连接,而其他设备却无法接入。这时,共享...
"Homeshare宿舍共享上网"是一种网络资源共享方案,主要用于解决大学生宿舍等环境下,多人共用一个网络账号,分摊网费的问题。这个解决方案通常涉及到路由器配置、网络协议理解和网络安全等多个IT知识点。 首先,...
通过以上步骤,用户可以在Windows XP上的虚拟机环境中配置Linux系统以实现上网,并能进行RPM软件包的安装、查询和卸载。同时,也了解了如何将文件从Windows导入到Linux虚拟机,以及如何在虚拟机中安装软件。这些知识...
双网卡共享上网是指在一个计算机系统中安装两个网络适配器(通常称为网卡),并通过一定的设置使该计算机既能连接到一个网络(如局域网),又能通过另一个网络(如互联网)实现上网功能的技术。这种技术主要应用于...
在虚拟机上运行Linux系统并实现上网功能是许多开发者和学习者经常遇到的需求。这篇教程将详细介绍如何在虚拟机环境中配置Linux系统以便上网。我们主要会涉及到以下知识点: 1. **虚拟机软件安装**:首先,你需要...