Linux iptables实现(SNAT)源地址转换
实验要求一(实验要求SNAT:内网主机访问外网主机,通过iptables进行源地址转换,允许访问外网的httpd和ping)
?1、开启防火墙转发功能(两个方法二选一即可)
?方法一:
[root@iptabels ~]#echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf ?#修改内核配置文件
[root@iptabels ~]#source /etc/sysctl.conf
配置完成后,现在内网主机是没办法访问外网.45.60主机的
2、iptables流量转发配置
2.1#配置防火墙允许转发
[root@iptabels ~]#iptables -I FORWARD -p tcp --dport 80 -j ACCEPT
2.2#配置SNAT源地址转换 ? ? ? ?这里是大写的 -i ? ? ? ? ? ? ? 指定被转发的网段 (-o指定出站网卡)
[root@iptabels ~]#iptables -t nat -I POSTROUTING -s 192.168.10.0/24 -o ens36 -j SNAT --to-source 23.34.45.56
——————此时流量以及可以到达外网的主机,但是回包时候被防火墙拦截————
2.3配置防火墙回包的转发
[root@iptabels ~]#iptables -I FORWARD -p tcp --sport 80 -j ACCEPT ?#指定源80端口
? 此时Vm1已经可以访问外网Vm2的http服务,已经可以访问默认页面
2.4配置Ping(目前无法ping通)
?[root@iptabels ~]#iptables -I FORWARD -p icmp -j ACCEPT
实验要求二(外网主机访问内网主机的http服务通过iptables进行目的地址(DNAT)转换)
一、配置DNAT转换
?[root@iptabels ~]#iptables -t nat -I PREROUTING -i ens36 -d 23.34.45.56 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.10
验证:成功访问内网httpd服务
实验要求三(仅允许内网主机使用ssh远程管理iptabels通过vm1通过vm1接口进行管理,不允许其他主机通过任何端口进行ssh管理)
一、查看防火墙原始配置
1、[root@iptabels ~]#iptables -nL
这里可以看到这条策略默认是允许所有tcp链接来访问22号端口,并没有做限制,所以要把它删除
[root@iptabels ~]#iptables -D INPUT 4
?————此时所有主机已经都无法通过ssh链接
2、配置允许通过内网网卡来访问,并且指定目的Ip
[root@iptabels ~]#iptables -I INPUT -p tcp --dport 22 -i ens33 -d 192.168.10.254 -j ACCEPT
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!