您的位置:首页 > 运维架构 > Linux

CentOS 6.9使用iptables搭建网关服务器(转)

2018-01-15 19:44 344 查看
条件:

网关服务器IP:172.16.0.1,并且可以连接到外网

客户端IP:172.16.0.0/24

1、开启转发支持forward

/etc/sysctl.conf
net.ipv4.ip_forward = 1


2、配置转发

iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE


转发网段172.16.0.0/24传过来的包,也可以指定特定的ip地址。例如:

iptables -t nat -A POSTROUTING -s 172.16.0.10 -j MASQUERADE


3、重启iptables

service iptables restart


4、修改客户端网关

/etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=172.16.0.1


实例:

一、配置NetWork:

内网:Eth0 :192.168.0.253/24

外网:Eth1:112.95.145.157/24

Eth0:

vi  /etc/sysconfig/network-scripts/ifcfg-eth0


增加:

BOOTPROTO=static
IPADDR=192.168.0.253
BROADCASK=192.168.0.255
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes


Eth1:

vi  /etc/sysconfig/network-scripts/ifcfg-eth1


增加:

BOOTPROTO=static
IPADDR=112.95.145.157
NETMASK=255.255.255.0
BROADCASK=112.95.145.255
NETWORK=112.95.145.0
ONBOOT=yes


设置网关:

vi /etc/syscofig/network


增加:

NETWORKING=yes
NETWORKING_IPV4=yes
GATEWAY=112.95.145.1
HOSTNAME=GateWay


设置DNS:

vi /etc/resolv.conf


增加:

nameserver 210.21.196.6
nameserver 221.5.55.88


重启NETWORK:service network restart

网络启动成功后,Ping一下网关、外部地址,验证配置正确。

二、iptables配置

1、打开IP转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward


2、建立nat 伪装

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
或者
iptables -t nat -A POSTROUTING -s 192.168.0.0/22 -o eth1 -j MASQUERADE (只建立特定子网的nat)


3、建立转发

iptables -A FORWARD -i eth0 -j ACCEPT
或者
iptables -A FORWARD -s 192.168.0.0/22 -m state --state ESTABLISHED,RELATED -j ACCEPT (特定子网的转发)


4、保存iptables配置。

service iptables save


最简单的网关就配置好了。可以按实际情况加上各种转发规则。

找一台客户机:

设置

IP:192.168.0.2/24
GATEWAY:192.168.0.253
DNS:210.21.196.6 221.5.88.88


验证能不能正常访问外部。

三、限制特定的MAC IP访问

1、限制特定MAC 地址外部访问:

iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
解封:
iptables -D FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
限制所有通信:
iptables -A INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
解封:
iptables -A INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP


2、限制特定IP外部访问:

iptables -A FORWARD  -s 192.168.0.x  -j DROP
解封:
iptables -D FORWARD  -s 192.168.0.x  -j DROP
限制所有通信:
iptables -A INPUT  -s 192.168.0.x  -j DROP
解封:
iptables -D INPUT  -s 192.168.0.x  -j DROP


参考:

https://www.cnblogs.com/chenshoubiao/p/4782276.html(以上内容部分转自此篇文章)

https://www.cnblogs.com/zhenyuyaodidiao/p/6021671.html(CentOS 7+)

http://blog.csdn.net/u013177446/article/details/53996037

http://blog.sina.com.cn/s/blog_6150ff280100m8q6.html(以上内容部分转自此篇文章)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: