您的位置:首页 > 其它

通过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、开启内核转发功能
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-eth0
DEVICE=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 -n
Destination 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、以上测试都通过,即完成实验。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息