linux下的nat设置

配置采用双网卡:eth0、eth1 
    eth0的配置:[[email protected] network-scripts]# cat ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

BROADCAST=211.101.46.255

HWADDR=4C:00:10:59:6B:20

IPADDR=211.101.46.251

NETMASK=255.255.255.0

NETWORK=211.101.46.0

ONBOOT=yes

TYPE=Ethernet

eth1的配置: [[email protected] network-scripts]# cat ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.1.1

NETMASK=255.255.255.0

HWADDR=4C:00:10:10:03:55
TYPE=Ethernet

注:“我才用的是固定IP,外网IP:211.101.46.251,内网IP是:192.168.1.1”

DNS配置:
 [[email protected] ~]# cat /etc/resolv.conf

nameserver 192.168.1.1   内网DNS地址

nameserver 202.106.0.20  外网DNS地址

网关配置:
 [[email protected] /]# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=tpwb

GATEWAY=211.101.46.1    你的网关(211.101.46.251的网关)

[[email protected] sysconfig]# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

211.101.46.0    *               255.255.255.0   U     0      0        0 eth0

192.168.1.0     *               255.255.255.0   U     0      0        0 eth1

169.254.0.0     *               255.255.0.0     U     0      0        0 eth1

default      211.101.46.1    0.0.0.0     UG    0      0      0 eth0

保证default是 211.101.46.1

重启dns:
[[email protected] ~]# service named restart

现在开始启用nat:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 211.101.46.251
注:-A:表示在所选择的的链末添加一条或多条规则, POSTROUTING:修改准备出去的包 ,-s:源地址,-o:输出接口,-j:指定规则的目标;也就是说,如果包匹配应当做什么,--to:只用于nat表的POSTROUTING链,相当于给包发出时所经过接口的IP地址设置一个映像。“

开启网卡的转发功能:[[email protected] ~]#echo 1 > /proc/sys/net/ipv4/ip_forward

允许dns服务端口的tcp、udp数据包通过:
 [[email protected] ~]#iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT

[[email protected] ~]#iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
如果想重启之后依然生效: /etc/rc.d/init.d/iptables save
vi /etc/rc.d/rc.local下添加一行:
 echo 1 > /proc/sys/net/ipv4/ip_forward保存退出
[[email protected] ~]# ntsysv    
 在named,iptables的[]里点空格见出现*号后,确定,表示开机自动加载!
重启即可:

时间: 2024-08-27 16:34:19

linux下的nat设置的相关文章

Linux下别名alias设置(输入一个别名即可打印日志)

在Linux环境下,经常需要查看后台web日志,每次都要cd.很麻烦. 查看日志的时候,能否不用这么多cd呢?答案是能.方法如下: 步骤1:   vi  .profile 步骤2:在文件末尾增加别名showLog alias showLog='tail -100f  /pboss/iom/domain/iom/log.log' 保存文件.profile 步骤3:linux下,输入showLog,即可显示日志信息 总结:到此为止,大功告成.勉励自己继续积累吧 Linux下别名alias设置(输入一

linux下PS1命令提示符设置

linux下PS1命令提示符设置 在此文件最后一行添加:vim /etc/profileexport PS1='[\[email protected]\h \W]\$ '   #这里必须用单引号. \d :代表日期,格式为weekday month date,例如:"Mon Aug 1" \H :完整的主机名称.例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux \h :主机名 \t :显示时间为24小时格式,如:HH:MM:SS \T :显示时间为12小时格式

Linux下bonding的设置

Linux下bonding的设置 bonding简介 Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余. 1.网络负载均衡 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题.对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题.如果在内网中,文件服务器为

Linux 下防火墙端口设置

方式1: /sbin/iptables -I INPUT -p tcp --dport 8011 -j ACCEPT  #开启8011端口 /etc/rc.d/init.d/iptables save                                       #保存配置 /etc/rc.d/init.d/iptables restart                                    #重启服务 /etc/init.d/iptables status  

linux下查看和设置软件的安装路径

1:你可以通过whereis 软件名来查找系统里的文件位置 比如你想查找eclipse文件,那么就: [[email protected] ~]# whereis eclipse 会显示: eclipse: /usr/bin/eclipse /usr/lib/eclipse /usr/share/eclipse 2.如果是源码安装的话,你可以使用-prefix指定安装路径 3.如果是rpm包安装的话,可以使用rpm -qal查询一下 rpm -qf /路径/程序名 可以查到一个程序属于哪个rpm

Linux下环境变量设置

Linux下环境变量设置 1) 针对当前特定的用户起作用的环境变量 vi ~/.bashrc export PATH="$PATH:/NEW_PATH" 2) Linux系统环境变量配置文件 2.1) /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 2.2) /etc/bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取..

Linux下环境变量设置 (转)

Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变量?简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件. 设置变量对于一般人最实用的功能就是: 不用拷贝某些dll文件到系统目录中了,而path 这一系统变量就是系统搜索dll文件的一系列路径 在Linux系统下,如果你下载并安装应用程序,很有可

Linux下获取和设置IP

在Linux下获取关于IP和网关的操作:重点是对struct ifreq 的操作. 那么进入目录/usr/include/net/if.h下看查找struct ifreq结构体. /* Interface request structure used for socket ioctl's. All interface ioctl's must have parameter definitions which begin with ifr_name. The remainder may be in

Linux下 环境变量设置方法

etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. /etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量. ~/.profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.