练习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代理服务器共享上网的实现.pdf
Linux路由功能与共享上网的实现.pdf
Linux下实现多机共享上网.pdf
Linux下用局域网拨号接入服务器实现共享上网.pdf
Linux下实现多机共享上网 (2).pdf
xp下vmware中的linux共享主机上网设置全攻略,帮你理解vmware中的虚拟网卡的原理,而且帮你实现linux共享主机的网络资源
实现LINUX与WINDOWS95文件共享 如何在Linux上建立DNS服务器 用FIPS为LINUX分区 在RedHat5.0中配置News Server 定制Linux内核,发挥Linux潜能 (LILO配置文件) 手册 Linux中的字型(FONTS)设定 Linux中...
协同拨号器是一款中国电信推出的FTTB校园网拨号上网软件,可以通过同时拨号来达到共享上网的目的,完美破解了中国电信FTTB校园网不能共享上网的限制。协同拨号器3.0实现了 Windows所有版本操作系统 ,Linux 32位操作...
10.2.3 Linux防火墙实现策略 第11章 网站建设实例 11.1 Apache、PHP、MySQL简介 11.2 Apache、PHP、MySQL的安装 11.2.1 安装和启动MySQL 11.2.2 安装PHP+Apache 11.2.3 启动Apache并测试 11.2.4 测试MySQL数据库 ...
Linux基本防护措施 使用sudo分配管理权限 提高SSH服务安全 SELinux安全防护 加密与解密应用 使用AIDE做入侵检测 ...案例7:配置SNAT实现共享上网 案例8:常用系统监控命令配置与使用Zabbix监控系统
平台采用的是beaglebone,linux,详细介绍了在linux下驱动3G网卡,modeswitch,pppd的编译过程,最终实现了3G的拨号上网,步骤非常详细并配有截图,拨号需要的3个脚本在文档里有源代码,不同类型的网卡所需要的脚本...
DNS服务器的配置 ; Linux环境下ADSL拨号上网 ; 利用Samba实现Windows和Linux的资源共享.
使用系统VirtualBox,另外又装个Ubuntu ,想让两个系统实现共享设置,经过上网查资料,得以实现,这里就说下具体步骤: 一、VirtualBox在winxp下虚拟ubuntu 在winxp下虚拟ubuntu,在ubuntu下访问win的共享文件夹...
为了更好的解决虚拟机与主机的共享问题,VMware公司有一个VMWare-tools,来实现文件共享。这里主要讲的是在Windows下用 Vmware虚拟Linux来与windows来共享。 主机为WindowsXP系统,VMware虚拟机里安装Linux操作...
摘 要:本文阐述了Linux中IPtables的工作原理和利用其IP伪装的功能实现IP共享器的方法,并设计了一个多机共享上网的方案。IP共享器的作用和工作原理目前广泛使用的IPv4规范中的IP地址空间几乎分配完毕。随着网络的...
Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言..........................................................................................................................................
一般Linux编程时,经常都会使用虚拟机跑Linux系统,VMware Workstation Pro 虚拟机里的系统不管是Linux、还是windows、还是其他系统想要上网就必须配置好虚拟网络连接方式。VMware Workstation 支持共享、桥接,选择...
可以共享上网,请看下面 我们要知道局域网最大的特点就是可以实现资源的最佳利用,如:共享磁盘设备、打印机等,从而可以在组建的局域网内部互相调用文件,并可在任何一台共享打印机上进行打印;当然我们也可以借助...