其实在Linux下配置网关服务器很简单,如果配置好之后出现无法访问外网的情况,那么可以排查以下情况:

1、防火墙和iptables的服务关掉(firewalld、iptables)

2、清空iptables的规则(iptables -F、iptables -X、iptables -F -t nat、iptables -X -t nat)

3、转发开启(/etc/sysctl.conf-> net.ipv4.ip_forward=1)

通过以上的配置一般可以配置成功。

下面是实验环境:

说明一下,网关可以两个网卡,同样也不一定需要两个网卡,一张网卡也是可以的。

PC1:

eth0:192.168.104.12/255.255.255.0/192.168.104.1,DNS:8.8.8.8

PC2:

eth0:192.168.104.13/255.255.255.0/192.168.104.12,DNS:8.8.8.8

下面是实际配置:

PC1:

# 开启转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# 生效
sysctl -p
# 配置iptables做SNAT,下面有两种方式,推荐用第二种,比较清晰
# 1、使用MASQUERADE
iptables -t nat -I POSTROUTING -j MASQUERADE
# (不需要设置)可以指定哪个网卡
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
# (不需要设置)也可以指定具体的网段做SNAT
iptables -t nat -I POSTROUTING -s 192.168.104.0/24 -j MASQUERADE # 2、(推荐这种)指明SNAT的具体IP
iptables -t nat -I POSTROUTING -j SNAT --to-source 192.168.104.12
# (不需要设置)可以指定哪个网卡
iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 192.168.104.12
# (不需要设置)也可以指定具体的网段做SNAT
iptables -t nat -I POSTROUTING -s 192.168.104.0/24 -j SNAT --to-source 192.168.104.12

PC2:

此时只需要在/etc/sysconfig/network-script/ifcfg-eth0修改GATEWAY=192.168.104.12,也就是修改网关地址。

总结:

1、其实如果你时间过一张网卡的情况时,那么你会发现只要开启了内核转发功能之后不需要配置iptables也是可以行的。

2、当两张网卡是情况,实体机,一张连接外网,一张内网连接交换机,再连接多个子PC,此时iptables就是必须的,且SNAT也必须为外网网卡IP。

最新文章

  1. ios xcode Code signing failed 解决方案
  2. MAVEN修改localRepository不起作用
  3. 红外 IR 协议原理分析
  4. vs2010入门程序和出错问题解决方案
  5. C++ 对象的内存布局(上)
  6. 系列博文-Three.js入门指南(张雯莉)-静态demo和three.js功能概览
  7. sql 上舍下舍運用
  8. 记一次FileZillaServer提权
  9. Go学习笔记(四)Go自动化测试框架
  10. css3奇数偶数的伪属性
  11. 初识 GitHub
  12. [转]我的数据结构不可能这么可爱!——珂朵莉树(ODT)详解
  13. Go语言之进阶篇文件传输
  14. 数据仓库原理<3>:数据仓库与ODS
  15. c# 通过html导出pdf,带分页
  16. 异步任务(Celery)详解
  17. 使用LD_Preload的Linux权限升级技巧
  18. Apple 远程推送APNS 服务
  19. Spring Boot打包总结
  20. Ansible 创建用户 Playbook 脚本

热门文章

  1. [转]DBCP连接池的最简单应用(用于ORACLE数据库)
  2. 【Android】Android 广播大全
  3. MySQL 命令总结
  4. java生成二维码以及读取案例
  5. jQuery获得页面绝对和相对的位置
  6. aar上传maven库工具
  7. 比较对象--"=="与"equal"的区别
  8. LYOI 2016 Summer 函数 【线段树】
  9. POJ 3258 River Hopscotch (最大最小距离)【二分】
  10. c++字符串string的操作