IPTABLES-NAT

iptables提供的4个表:
raw、mangle、nat、filter
 
iptables提供的5种链:
INPUT、OUTPUT、FORWARD
PREROUTING、POSTROUTING
 
iptables命令用法:
iptables  -t  表名  -A  链名  匹配条件  -j  处理动作
 
处理动作类型:
ACCEPT、REJECT、DROP、LOG
 
实验一:
Linux网关/防火墙实验环境:
CentOS真机 ——
    192.168.4.254/24
svr5 ——
    eth0:192.168.4.5/24          【private1】
    默认网关设为 192.168.4.1
gw1(网关/防火墙/路由器) —— 开启 ip_forward
    eth0:192.168.4.1/24         【private1】
    eth1:174.16.16.1/24         【private2】
pc205 ——
    eth0:174.16.16.120/24          【private2】
    不要设默认网关
 
实验二:
    根据MAC地址封锁主机
    在一条规则中开放多个TCP服务
    根据IP范围设置封锁规则
 
实验三:局域网共享外网IP地址上网
    搭建内外网案例环境
    配置SNAT策略实现共享上网访问
    验证MASQUERAD伪装策略
 
[[email protected] ~]# yum -y install httpd
[[email protected] ~]# cat /var/www/html/index.html
<h1>Internat Web Site.</h1>
[[email protected] ~]# service httpd restart
[[email protected] ~]# chkconfig httpd on
 
[[email protected] ~]# yum -y install elinks
[[email protected] ~]# elinks --dump http://174.16.16.120
 
[[email protected] ~]# yum -y install elinks
[[email protected] ~]# elinks --dump http://174.16.16.120
 
[[email protected] ~]# iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth1 -j SNAT --to-source 174.16.16.1
[[email protected] ~]# service iptables save
 
 
[[email protected] ~]# elinks --dump http://174.16.16.120
 
[[email protected] ~]# tail /var/log/httpd/access_log -f
 
[[email protected] ~]# iptables -t nat -L
[[email protected] ~]# iptables -t nat -F
 
[[email protected] ~]# elinks --dump http://174.16.16.120
 
[[email protected] ~]# iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth1 -j MASQUERADE
[[email protected] ~]# service iptables save
 
[[email protected] ~]# elinks --dump http://174.16.16.120
 
实验四:配置DNAT发布内网服务器
    发布内网的Web服务器
    发布内网的SSH服务器
    发布内网的FTP服务器
 
[[email protected] ~]# yum -y install httpd vsftpd  
[[email protected] ~]# cat /var/www/html/index.html
<h1>Intranet Web Site...</h1>
[[email protected] ~]# service httpd restart
[[email protected] ~]# chkconfig httpd on
[[email protected] ~]# service vsftpd restart
[[email protected] ~]# chkconfig vsftpd on
 
[[email protected] ~]# yum -y install elinks
[[email protected] ~]# elinks --dump http://174.16.16.1
 
[[email protected] ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.4.5
[[email protected] ~]# service iptables save
 
[[email protected] ~]# elinks --dump http://174.16.16.1
                              Intranet Web Site...
 
 
 
 
 
DNAT:
iptables  -t  nat  -A  PREROUTING -i  网关外网接口  -d 网关的外网IP  -p  协议  --dport  目标端口  -j  DNAT  --to-destination  内网实际服务器的IP地址:端口
 
 
常见的几个问题 ——
1. 服务没开启(httpd、vsftpd)
2. 应用服务器的防火墙策略问题
    svr5、pc205
3. 起iptables服务出现警告 No config file
    正常的(没有设置规则)
4. SSH访问反应慢
    SSH服务端会尝试查询客户机的域名
    解决办法:
         1)提供正确的解析,修改/etc/hosts文件
         2)避免做查询,清空/etc/resolv.conf,或者修改sshd服务端的配置,禁止DNS查询
5. modprobe加载多个模块的时候报错
     modprobe  -a  模块1   模块2  .. ..
 
 
iptables防火墙规则的整理 ——
方式1:导出、导入
iptables-save  >  文件路径
iptables-restore  <  文件路径
 
方式2:iptables服务
service  iptables  save
 
方式3:Shell脚本
使用变量
 
[[email protected] ~]# vim /opt/gw1.sh
#!/bin/bash
LAN_NET="192.168.4.0/24"
INET_IF="eth1"
INET_IP="174.16.16.1"
IPT="/sbin/iptables"
.. ..
$IPT -t nat -A POSTROUTING -s $LAN_NET -o $INET_IF -j SNAT --to-source $INET_IP
.. ..
[[email protected] ~]# chmod +x /opt/gw1.sh
-------------------------------------------------------------------------------------------------------

时间: 2024-10-08 11:16:27

IPTABLES-NAT的相关文章

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展 iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html iptables限制syn速率 http://www.aminglinux.com/bbs/thre

iptables NAT规则【转】

nat表需要的三个链: 1.PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;  2.POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则.  3.OUTPUT:定义对本地产生的数据包的目的NAT规则. 需要用到的几个动作选项:(真实环境中用大写)  redirect  将数据包重定向到另一台主机的某个端口,通常用实现透明代

Iptables Nat转发

Iptables Nat iptables子命令: 规则: -A:添加 -I:插入 -D:删除 -R:修改 链: -N:新建一条自定义的链 -X:删除一条自定义的空链 -F:清空链中的规则 -Z:清空链中的计数器 -E:重命名自定连的名称 -P:修改链的默认规则 显示: -L: -n,-v,--line-numbers -S: 规则定义:iptables -t table -A|-I|-R chain 匹配条件 -j target 匹配条件: 通用匹配:-s,-d,-i,-o,-p 扩展匹配:

iptables filter表案例及iptables nat应用

iptables filter表案例 iptables小案例需求 只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.1.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口. 由于这个需求有多条规则,所以最好写成脚本的形式,操作示例如下: # vi /usr/local/sbin/iptables.sh              加入如下内容,保存退出. 脚本内容: ipt="/usr/sbin/iptables" $i

10.15 iptables filter表小案例;10.16—10.18 iptables nat

扩展: 1. iptables应用在一个网段: http://www.aminglinux.com/bbs/thread-177-1-1.html 2. sant,dnat,masquerade: http://www.aminglinux.com/bbs/thread-7255-1-1.html 3. iptables限制syn速率: http://www.aminglinux.com/bbs/thread-985-1-1.html 10.15 iptables filter表小案例 ipta

10.15-10.18 iptables filter表案例 iptables nat表应用

七周四次课(3月22日) 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展1. iptables应用在一个网段  http://www.aminglinux.com/bbs/thread-177-1-1.html2. sant,dnat,masquerade   http://www.aminglinux.com/bbs/thread-7255-1-1.html3. iptables限制syn速率  http://www.

七周四次课 iptables filter表案例以及iptables nat表应用

iptables小案例将80端口,22端口和21端口放行,22端口需要指定IP段,只有指定IP段访问才可以.其他段一概拒绝.我们可以用一个脚本来实现. #!/bin/bashipt="/usr/sbin/iptables"ipt是定义了一个变量,如果要执行命令,要写全局绝对路径,这样在脚本当中才不会因为环境变量问题导致命令无法执行.所以以后路写shell脚本时一定要写全局绝对路径.我们来定义一个变量,目的就是后面有许多的地方要加载它,如果写很长一段命令会很繁琐.所以我们要定义一个变量,

Linux学习笔记(三十二)iptables filter表案例、 iptables nat表应用

一.iptables filter表案例 需求:将80.20.21端口放行,对22端口指定特定的ip才放行 以下为操作方法: vim  /usr/local/sbin/iptables.sh    //加入如下内容 #! /bin/bashipt="/usr/sbin/iptables"   //定义一个变量,写iptables的绝对路径 $ipt -F                //清空规则 $ipt -P INPUT DROP        //添加默认的INPUT规则 $ip

三十二、iptables filter表小案例、iptables nat表应用

一.iptables filter表小案例 需求:只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.188.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口. 这个需求写一个脚本,内容如下: # vi /usr/local/sbin/iptables.sh #! /bin/bash ipt="/usr/sbin/iptables"      //ipt:定义了一个变量,应写绝对路径. $ipt -F $ipt -P

iptables nat 表应用

1.iptables nat 表应用 上图的操作,说白了就是要做一个路由器,路由器可以上网,电脑就可以上网.先操作一下前期准备,打开虚拟机,将两个Linux窗口打开,然后分别拍一张快照,命名为"iptables 小实验前".此举是方便实验过程出现不可挽回的错误,可以通过快照恢复,然后重新做实验.lyslinux-02 是之前克隆的虚拟机.右击上图红色框框 "编辑虚拟机设置" 的位置 ,跳出弹框,选择"添加",网络适配器,下一步,见下图,保持默认,