通过iptable使内网的机器能访问外网
2017-04-26 21:10
330 查看
环境:
Centos 6.8-1
VMware模拟方法,将一张网卡设置为VMnet1,一张设置为桥接
(桥接设备)eth0 :
IP地址:192.168.199.55
子网掩码:255.255.255.0
网关:192.168.199.1
(VMnet1)eth1:
IP地址:192.168.43.129
子网掩码:255.255.255.0
Centos 6.8-2
VMware模拟方法,将一张网卡设置为VMnet1
(VMnet1)eth0:
IP地址:192.168.43.128
子网掩码:255.255.255.0
网关:192.168.43.129
iptables的结构:
Iptables用于建立,维护和检查IPv4数据包的表过滤规则在Linux内核中。 可以定义几个不同的表。 每个表包含多个内置链,并且还可以包含用户 - 定义链。每个链是可以匹配一组数据包的规则列表。 每个规则指定如何处理匹配的数据包。 这被称为“目标”, 这可能是在同一个表中跳转到用户定义的链。
iptables的表与链:
iptables具有4张内建表Filter,NAT,Mangle,Raw
Filter表示iptables默认的表
例:
iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
等同于
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
1、Filter表中有3个链:
INPUT链:处理来自外部的数据,理解为过滤进入linux系统的数据
OUTPUT链:处理准备向外发送的数据,理解为是否允许一些数据包去别的网络,比如公网
FORWARD链:将数据转发到本机的其他网卡设备上
2、NAT表
PREROUTING链:处理到达本机,但并没有路由出去的数据包,它会改变数据包中的目标IP地址DNAT
POSTROUTING链:处理即将向外发送的数据包,它会改变数据包中的源IP地址SNAT
OUTPUT链:处理本机产生的数据包
3、Mangle表
Mangle表用于指定如果处理数据包,它能改变TCP头中的Qos位。Mangle表具有5个内建链:
PREROUTING
OUTPUT
FORWARD
INPUT
POSTROUTING
4、Raw表
Raw表用于处理异常,内含2个内建链
PREROUTING 链
OUTPUT链
操作步骤:
Centos6.8-1
1、开启内核转发功能
net.ipv4.ip_forward = 1
2、使参数生效
3、查看iptables现有的规则
查看默认表Filter的FORWARD链
....................
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
......................
4、删除Filter表中的FORWARD链中的REJECT规则,做实验也不管严不严谨了,工作中谨慎谨慎再谨慎。
5、添加转发规则
6、在Centos6.8-2上修改网卡参数
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.43.128
NETMASK=255.255.255.0
GATEWAY=192.168.43.129
DNS1=202.101.172.35
DNS2=8.8.8.8
7、测试Centos6.8-1和Centos6.8-2的连通性
8、查看本地的默认网关是否为192.168.43.129
0.0.0.0 192.168.43.129 0.0.0.0 UG 0 0 0 eth0
9、测试能ping通Centos6.8-1的路由网关
10、测试能否ping通外网
11、测试能否正确解析域名
12、以上测试都通过,即完成实验。
Centos 6.8-1
VMware模拟方法,将一张网卡设置为VMnet1,一张设置为桥接
(桥接设备)eth0 :
IP地址:192.168.199.55
子网掩码:255.255.255.0
网关:192.168.199.1
(VMnet1)eth1:
IP地址:192.168.43.129
子网掩码:255.255.255.0
Centos 6.8-2
VMware模拟方法,将一张网卡设置为VMnet1
(VMnet1)eth0:
IP地址:192.168.43.128
子网掩码:255.255.255.0
网关:192.168.43.129
iptables的结构:
Iptables用于建立,维护和检查IPv4数据包的表过滤规则在Linux内核中。 可以定义几个不同的表。 每个表包含多个内置链,并且还可以包含用户 - 定义链。每个链是可以匹配一组数据包的规则列表。 每个规则指定如何处理匹配的数据包。 这被称为“目标”, 这可能是在同一个表中跳转到用户定义的链。
iptables的表与链:
iptables具有4张内建表Filter,NAT,Mangle,Raw
Filter表示iptables默认的表
例:
iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
等同于
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
1、Filter表中有3个链:
INPUT链:处理来自外部的数据,理解为过滤进入linux系统的数据
OUTPUT链:处理准备向外发送的数据,理解为是否允许一些数据包去别的网络,比如公网
FORWARD链:将数据转发到本机的其他网卡设备上
2、NAT表
PREROUTING链:处理到达本机,但并没有路由出去的数据包,它会改变数据包中的目标IP地址DNAT
POSTROUTING链:处理即将向外发送的数据包,它会改变数据包中的源IP地址SNAT
OUTPUT链:处理本机产生的数据包
3、Mangle表
Mangle表用于指定如果处理数据包,它能改变TCP头中的Qos位。Mangle表具有5个内建链:
PREROUTING
OUTPUT
FORWARD
INPUT
POSTROUTING
4、Raw表
Raw表用于处理异常,内含2个内建链
PREROUTING 链
OUTPUT链
操作步骤:
Centos6.8-1
1、开启内核转发功能
vim /etc/sysctl.conf# Controls IP packet forwarding
net.ipv4.ip_forward = 1
2、使参数生效
sysctl -p
3、查看iptables现有的规则
查看默认表Filter的FORWARD链
....................
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
......................
4、删除Filter表中的FORWARD链中的REJECT规则,做实验也不管严不严谨了,工作中谨慎谨慎再谨慎。
iptables -t filter -D FORWARD -j REJECT service iptables save iptables -L
5、添加转发规则
iptables -t nat -I POSTROUTING -s 192.168.43.0/24 -j SNAT --to-source 192.168.199.55 service iptables save
6、在Centos6.8-2上修改网卡参数
vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.43.128
NETMASK=255.255.255.0
GATEWAY=192.168.43.129
DNS1=202.101.172.35
DNS2=8.8.8.8
7、测试Centos6.8-1和Centos6.8-2的连通性
ping 192.168.43.129
8、查看本地的默认网关是否为192.168.43.129
rount -nDestination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.43.129 0.0.0.0 UG 0 0 0 eth0
9、测试能ping通Centos6.8-1的路由网关
ping 192.168.199.1
10、测试能否ping通外网
ping 114.114.114.114
11、测试能否正确解析域名
ping www.vperson.win
12、以上测试都通过,即完成实验。
相关文章推荐
- Apache外网验证访问 内网直接通过
- 通过NAT实现内网访问外网并发布内网服务器
- 自己搭建服务器通过外网访问内网的方法(端口映射、内网穿透、重定向等)
- 通过端口映射实现外网访问内网
- 内网穿透技术详解 --- Java本地项目,可以让别人通过外网访问 (natapp、ngrok、nat123、花生壳等)
- NAT 通过NAT应用从外网 访问 内网数据库主机(端口映射)
- 通过外网访问服务器(1)链接到内网服务器(2)
- 获取网页源码,以及内网通过代理访问外网获取
- iptables 实现centos内网机器访问外网
- nginx简单应用—通过有外网全向的主机访问内网程序
- iptables - 实现centos内网机器访问外网
- 通过外网访问内网服务器(绝对成功)
- 通过堡垒机访问内网linux机器
- 在内网建一个FTP服务器,并且可以通过外网访问
- 内网不能通过外网来访问内网的服务器原因分析(外网可以)
- Java本地的项目,怎么可以让别人通过外网访问-内网穿透
- 在内网建一个FTP服务器,并且可以通过外网访问
- 通过外网访问内网服务器
- iptables 实现centos内网机器访问外网
- 内网不能通过外网来访问内网的服务器原因分析(外网可以)