网络地址转换实验

网友投稿 282 2022-10-29


网络地址转换实验

1.概念

网络地址转换用于控制网络封包的表面源或所需目标地址。

基于主机的简单防火墙只具有 INPUT 链中的规则,以 ACCEPT 或 REJECT 封包,但是在专用(不可路由)网络的网关或路由器上,通常使用 PREROUTING 和 POSTROUTING 链修改封包。nat 表使用三条链: PREROUTING 、 OUTPUT 和 POSTROUTING 。当路由器修改通过其的网络通信的源或目标 IP 地址或端口时,进行网络地址转换。它用于映射使用单个 IP 地址的计算机网络,以使其可以共享单个公共地址并隐藏其内部网络( MASQUERADE 或 SNAT )。它还用于将发送到一个 IP 地址的通信重定向到另一个 IP 地址。此目标 NAT 用于端口转发(通过防火墙外部的端口至防火墙内部的服务)并用于透明地重定向至代理服务。

MASQUERADE 目标使源 IP 地址更改为与开启防火墙的接口的 IP 相匹配。目标将响应发送回该接口的 IP地址。连接跟踪自动将返回通信转换为匹配的内部 IP 地址和端口(基于连接两端的 IP 地址和端口进行跟踪)。 SNAT 目标通过选项 --to-source 使源 IP 地址更改为指定的 IP 地址。

# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

DNAT 目标通过— to-destination 选项使目标 IP 地址更改为与指定的 IP 地址相匹配。路由器将封包转发到该地址;这是在做出路由决策之前使用链的原因。连接跟踪自动将响应发送回具有原始 IP 地址的原始源而不是新源。

# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.254

DNAT 示例:

# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.0.250

# iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.0.200:3128 (重定向)

SNAT 示例:

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE (伪装)

# iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.0.253

2.filter表  只允许sshd,dns,/etc/vsftpd/vsftpd.conf

pasv_max_port=5000

pasv_min_port=5000

iptables -F

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 20 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 953 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 5000 -j ACCEPT

iptables -A INPUT -m state --state NEW -s 172.25.6.254 -p tcp --dport 1024:  -j ACCEPT

3.NAT表  内外网访问

3.1实验环境:

真机 172.25.254.6        (外网)

虚拟机一    172.25.254.106/172.25.6.1

虚拟机二    172.25.6.10      (内网)

3.2内网访问外网

3.2.1虚拟机一配置

[root@server106 ~]# vim /etc/sysctl.conf

net.ipv4.ip_forward = 1    #开通内核路由功能

[root@server106 ~]# sysctl -p

[root@server106 ~]# iptables -F

[root@server106 ~]#  iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.106##添加内网到外网的策略

3.2.2虚拟机二配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

GATEWAY=172.25.6.1

[root@localhost ~]# /etc/init.d/network restart

3.2.3测试:虚拟机二可ping通254网段 172.25.254.6

[root@localhost ~]# ping 172.25.254.6

PING 172.25.254.6 (172.25.254.6) 56(84) bytes of data.

64 bytes from 172.25.254.6: icmp_seq=1 ttl=64 time=0.102 ms

64 bytes from 172.25.254.6: icmp_seq=2 ttl=64 time=0.127 ms

64 bytes from 172.25.254.6: icmp_seq=3 ttl=64 time=0.164 ms

3.3外网访问内网

3.3.1虚拟机一配置

[root@server106 ~]# iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.106  ##添加外网内网的策略

3.3.2虚拟机二    ### 添加测试页

[root@localhost ~]# vim /var/page

[root@localhost ~]# /etc/init.d/start

3.3.3真机端测试


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:api接口管理(api接口管理系统源码)
下一篇:接口文档管理(接口文档管理续费)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~