IPTABLES-NAT
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
-------------------------------------------------------------------------------------------------------
以上是关于IPTABLES-NAT的主要内容,如果未能解决你的问题,请参考以下文章