條件:
網關服務器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(以上內容部分轉自此篇文章)