CentOS 6.9使用iptables搭建網關服務器(轉)


條件:

網關服務器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、修改客戶端網關

實例: 

一、配置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(以上內容部分轉自此篇文章)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM