Linux下iptables实现的NAT服务 :
一、网络环境
首先来看看配置网络环境:
#p#
二、利用Linux实现ADSL拨号上网
1.ADSL拨号服务器及nat服务器,要求配置双网卡并安装Linux系统的普通PC即可。
2. ADSL猫,非路由
3.普通交换机
4.需要上网的其他计算机
建立ADSL连接
1.把ADSL接在eth0上,把eth1接在交换机上。
第一块网卡(eth0)的ip;192.168.1.114 255.255.255.0(ISP提供)
第二块网卡(eth1)的ip; 192.168.0.1 255.255.255.0(内网网关)
在这两块网卡中,不用设网关。
2.安装Linux下ADSL拨号软件rp-pppoe
rpm -ivh rp-pppoe*.rpm /rpm -Uvh rp-pppoe*.rpm
3.配置rp-pppoe(有图形界面和命令两种配置方法)
rp-pppoe安装完毕后,会产生四个相关命令:adsl-setup(配置拨号参数),adsl-start(启动拨号),adsl-stop(停止拨号),adsl-status(查看拨号状态)
adsl-connect (adsl连接)
#p#
命令配置:
root用户运行Adsl-setup
1.输入登录名称,即ISP提供的ADSL账户(以root为例,默认即可)
2.选择网卡,回车默认(eth0)即可
3.选择是否按需连接或持续连接(默认否),以自己实际需求而定,在此默认
4.选择DNS服务器,根据ISP提供的DNS服务器地址填写即可。自动获取的话,输入“server”。
5.输入登录密码,连续输入两次
6.选择是否普通用户控制ADSL,默认即可
7.选择防火墙等级,选2(表示使用ip伪装)
8.选择是否在开机时启动,选yes
9.最后,确认所输入的信息是否全部正确,确认后输入“yes”.
图像界面:主菜单—系统工具—因特网配置向导,选择xDS连接,输入相关信息即可。
#p#
三、使用iptables实现nat共享上网
1.启用系统的路由功能
- /etc/sysctl.conf文件中的net.ipv4.ip_forward = 0,改为net.ipv4.ip_forward = 1.
2.执行命令sysctl –p使修改生效
3.设置ip伪装
- Iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Linux系统中,对应的连接名称为ppp0、ppp1等,如果没不确定编号可以用ppp+代替。
#p#
四、nat 客户端配置
1.客户端的ip在192.168.0.*,255.255.255.0。
2.客户端网关为192.168.0.1,dns服务器地址
启动时自动拨号和配置nat服务器
为了实现开机即可进行nat数据转发,可在/etc/rc.d/rc.local中写入以下内容:
- /usr/sbin/adsl-start
- Iptables -t nat -A POSTROUTING -o ppp0 -j MASQUSERADE
通过以上步骤,就可以实现Linux下iptables实现的nat服务 。
【编辑推荐】