在mini2440上搭建NAT服务器
来源:互联网 发布:linux ftp连接日志 编辑:程序博客网 时间:2024/05/16 14:43
在mini2440上搭建NAT服务器
一、绑定两个IP
首先仍然是想办法给一个网上绑定两个IP,一个外网IP:202.117.132.132,一个留作内部网关的内网IP:192.168.1.2,
开发板上修改IP使用的命令格式如下:
ifconfig eth0 202.117.132.132 netmask 255.255.0.0 route add default gw 202.117.132.1
定义DNS则要使用vi编辑器编辑/etc/resolv.conf文件修改为nameserver 202.117.128.2
同理绑定内网IP使用的命令为:
ifconfig eth0:0 192.168.1.2 netmask 255.255.0.0
但这种方法有很大的局限性,重启开发板后要重新输入命令。通过对开发板目录结构的研究,找到了启动脚本(/etc/init.d/rcS)。
启动流程大致如下:首先定义了环境变量PATH,定义运行级别为超级用户,紧接着设置默认的权限umask,下面是挂载proc文件系统,sysfs,usbfs等文件系统,以及挂载/dev下所有的设备,构建/var目录,再下面是在屏幕上输出一些初始化的信息,再下面是设置回环设备,初始化eth0接口。而初始化eth0实际上是调用了/etc/init.d/ifconfig-eth0脚本,这个脚本首先判断/etc/eth0-setting文件是否存在,存在的话可以用source命令来重新执行初始化的文件,不存在的话则会调用ifconfig命令来给它绑定IP和子网掩码,最终我们可以去分析eth0-setting文件,这个文件里的选项则更加直观,有IP项,Mask项,Gateway项,DNS项,MAC项。
到这里我们已经知道了开发板的IP绑定方法,我们可以采用两种方法来绑定IP。
方法一:在rcS里调用ifconfig命令绑定IP。
方法二:我们依照调用流程,首先创建eth0:0-setting文件,设置好其各项,但不能绑定两个不同的MAC地址,所以去掉MAC地址这一项。紧接着将ifconfig-eth0拷贝一份,将所有的eh0改成eth0:0,再在rcS脚本里添加/etc/init.d/ifconfig-eth0:0。
设置好后,用source或”.”命令来重启这个初始化脚本,这时绑定两个IP大功告成。
二、添加过滤转发规则
要在开发板上搭建NAT服务器只需要在移植好iptables的基础上执行下面的命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -F -t nat
iptables -P FORWARD DROP
iptables -A FORWARD -s 192.168.1.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.1.0/24 -j SNAT --to 202.117.132.132
执行完后可以用iptables-save > iptables-script命令将所有的iptables规则重定向输出到一个脚本中,重启开发板后执行iptables-restore iptables-script命令加载这些规则。为了方便起见,我们将这条命令加到rcS初始化脚本中。
- 在mini2440上搭建NAT服务器
- 在mini2440上移植Boa服务器
- 在mini2440上移植Boa服务器
- 在mini2440上搭建linux遇到的问题
- 在linux系统上搭建QT移植mini2440步骤
- 在linux系统上搭建QT移植mini2440步骤
- NAT服务器的搭建
- 在服务器上搭建SVN
- 在linux服务器上搭建XMPP服务器
- git 服务器搭建,在自己服务器上搭建私有仓库
- git 服务器搭建,在自己服务器上搭建私有仓库
- git 服务器搭建,在自己服务器上搭建私有仓库
- 服务器上的 Git - 在服务器上搭建 Git
- 4.2 服务器上的 Git - 在服务器上搭建 Git
- 在mini2440上移植minicom
- 在mini2440上移植Bluetooth
- 在mini2440上移植Bluetooth
- 在mini2440上移植Bluetooth
- Zend Framework PHP 编码标准(标准化参考)
- svn, apache, php, ftp安装
- vxworks常用调试命令
- 关于虚函数(课后整理)
- C++模板学习
- 在mini2440上搭建NAT服务器
- 在linux系统安装Bugzilla
- vc6.0”下载地址
- ASP.NET中 Repeater嵌套应用
- PHP网站开发实用技巧集锦
- 使用J-link调试内核
- Android 对汉字字符串按照拼音排序 Java
- oracle nullif函数的使用
- Party at Hali-Bula POJ3342