linux命令实现Nat的简单介绍

linux如何配置NAT?1. 配置IP地址
1.1 正确配置学校分配的IP使能正常上网
1)按学校分配的IP地址配置好Linux主机
[~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
| DEVICE=eth0|
| BOOTPROTO=none|
| HWADDR=00:1E:90:13:E0:25 |
| IPADDR=10.3.10.19|
| NETMASK=255.255.255.0|
| GATEWAY=10.3.10.254|
| ONBOOT=yes|
| TYPE=Ethernet|
| DNS1=211.64.120.2|
| DEFROUTE=yes|
| DOMAIN=168.96.1.1|
2)重起网卡
[~]# servie network restart
note: 经过以上的配置, Linux主机应该能够正常上网了!
1.2 新增eth0别名设备eth0:0
[~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
| # eth0:0 必须要用''括起来: 'eth0:0' |
| DEVICE='eth0:0'|
| ONBOOT=yes|
| BOOTPROTO=static|
| IPADDR=192.168.50.1|
| NETMASK=255.255.255.0|
| USERCTL=no|
1.3 配置后 查看一下是否配置成功:
【linux命令实现Nat的简单介绍】[~]# ifconfig
| eth0Link encap:EthernetHWaddr 00:1E:90:13:E0:25|
|inet addr:10.3.10.19Bcast:10.3.10.255Mask:255.255.255.0|
|inet6 addr: fe80::21e:90ff:fe13:e025/64 Scope:Link|
|UP BROADCAST RUNNING PROMISC MULTICASTMTU:1500Metric:1|
|RX packets:187685 errors:0 dropped:0 overruns:0 frame:0|
|TX packets:137327 errors:0 dropped:0 overruns:0 carrier:0|
|collisions:0 txqueuelen:1000|
|RX bytes:134816893 (128.5 MiB)TX bytes:56066393 (53.4 MiB)|
|Interrupt:27 Base address:0xa000|
| eth0:0Link encap:EthernetHWaddr 00:1E:90:13:E0:25|
|inet addr:192.168.50.1Bcast:192.168.50.255Mask:255.255.255.0 |
|UP BROADCAST RUNNING PROMISC MULTICASTMTU:1500Metric:1|
|Interrupt:27 Base address:0xa000|
2. 配置路由
由于在配置网卡接口时, 已自动配置一定的路由, 所以我们只需查看一下其信息, 验证其
是否已经被正确配置:
[root ~]$ route
Kernel IP routing table
DestinationGatewayGenmaskFlags Metric RefUse Iface
192.168.50.0*255.255.255.0U000 eth0
10.3.10.0*255.255.255.0U100 eth0
link-local*255.255.0.0U100200 eth0
default10.3.10.2540.0.0.0UG000 eth0
3. 配置NAT
1)新建nat.sh脚本文件并保存在 /usr/local/nat/ 目录下:
[~]# cat /usr/local/nat/nat.sh
| #!/bin/bash|
| # 0. 设定你的参数值|
| EXIF='eth0'# 这个是对外的网卡接口, 可能是'ppp0'等|
| EXNET='192.168.50.0/24'# 这个是对内的网段|
| # 底下如无需要, 请不要改动了!|
| # 1. 启动routing等|
| echo 1/proc/sys/net/ipv4/ip_forward|
| /sbin/iptables -F|
| /sbin/iptables -X|
| /sbin/iptables -Z|
| /sbin/iptables -F -t nat|
| /sbin/iptables -X -t nat|
| /sbin/iptables -Z -t nat|
| /sbin/iptables -P INPUTACCEPT|
| /sbin/iptables -P OUTPUTACCEPT|
| /sbin/iptables -P FORWARD ACCEPT|
| /sbin/iptables -t nat -P PREROUTINGACCEPT|
| /sbin/iptables -t nat -P POSTROUTINGACCEPT|
| /sbin/iptables -t nat -P OUTPUTACCEPT|
| # 2. 载入模组|
| /sbin/modprobe ip_tables 2 /dev/null|
| /sbin/modprobe ip_nat_ftp 2 /dev/null|
| /sbin/modprobe ip_nat_irc 2 /dev/null|
| /sbin/modprobe ip_conntrack 2 /dev/null|
| /sbin/modprobe ip_conntrack_ftp 2 /dev/null|
| /sbin/modprobe ip_conntrack_irc 2 /dev/null|
| # 3. 启动ip伪装|
| /sbin/iptables -t nat -A POSTROUTING -o $EXIF -s $EXNET -j MASQUERADE |
2)增加可执行权限
[~]# chmod +x /usr/local/nat/nat.sh
4. 大功告成
1)Linux主机配置完成, 现在只需重新启动一下刚才的配置:
[~]# servie network restart
[~]# /usr/local/nat/nat.sh
2)为了使得开机即可运行, 可在 /etc/rc.d/rc.local 文件加入相应的命令:
[~]# echo "/usr/local/nat/nat.sh"/etc/rc.d/rc.local
5. 配置客户机(可以是windows或linux等其它系统)

推荐阅读