iptables 实现内网转发上网
介绍
通过iptables做nat转发实现所有内网服务器上网。
操作
首先开启可以上网的服务器上的内核路由转发功能。这里我们更改/etc/sysctl.conf 配置文件。
[root@web1 /]# sed -i '$a net.ipv4.ip_forward = 1' /etc/sysctl.conf
[root@web1 /]# cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf() and sysctl.d().
net.ipv4.ip_forward =
使内核参数生效
[root@web1 /]# sysctl -p
net.ipv4.ip_forward =
在能上网的机器上添加SNAT规则(cenots7也可以,好像会自己转化)
清空NAT表规则,如果你有自己的规则谨慎操作。没用的删了就可以 [root@web1 ~]# iptables -t nat -F
[root@web1 ~]# iptables -t nat -X
[root@web1 ~]# iptables -t nat -Z
[root@web1 ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 118.186.61.82
[root@web1 /]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination Chain INPUT (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 0.0.0.0/ 0.0.0.0/ to:118.186.61.82
在不能上网的机器上添加缺省路由指到能上网的机器上。
查看一下route命令是哪个包里面的
[root@web1 ~]# rpm -qf /sbin/route
net-tools-1.60-.el6.x86_64
添加缺省路由
[root@web2 /]# route add default gw 10.1.1.1
测试
[root@web2 /]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) () bytes of data.
bytes from 61.135.169.125 (61.135.169.125): icmp_seq= ttl= time=3.02 ms
bytes from 61.135.169.125 (61.135.169.125): icmp_seq= ttl= time=3.14 ms
^C
--- www.a.shifen.com ping statistics ---
packets transmitted, received, % packet loss, time 1001ms
rtt min/avg/max/mdev = 3.023/3.084/3.146/0.082 ms
[root@web2 /]#
补充
假如当前系统用的是ADSL动态拨号方式,那么每次拨号,出口ip192.168.5.3都会改变
而且改变的幅度很大,不一定是192.168.5.3到192.168.5.5范围内的地址
这个时候如果按照现在的方式来配置iptables就会出现问题了
因为每次拨号后,服务器地址都会变化,而iptables规则内的ip是不会随着自动变化的
每次地址变化后都必须手工修改一次iptables,把规则里边的固定ip改成新的ip
这样是非常不好用的
比如下边的命令:
iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE
如此配置的话,不用指定SNAT的目标ip了
不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做SNAT出去
这样就实现了很好的动态SNAT地址转换
iptables 实现内网转发上网的更多相关文章
- 14、iptables_nat源地址转换(内网共享上网)
14.1.环境说明: 1.架构图:
- 通过nat让内网机器上网
让内网机器访问不通机房的机器,架构如下 (172.16.10.5) ----- (172.17.9.109 可以出外网,开启路由转发) ------- (内网 192.168.36.19 能pi ...
- 用iptables封杀内网的bt软件
我所在的网络情况是这样的!1台FC3和3台win2000组成一个局域网!四台机都接在100m的交换机上.在FC3上有两个网卡eth0接外网 adsl eth1接在交换机.FC3做nat带3台win20 ...
- Tunna内网转发
Tunna和reduh原理一样.. 使用方法: 上传源码包中文件夹webshell下的脚本至网站目录 然后本地进行连接上传的webshell即可 python proxy.py -u http://1 ...
- Linux渗透+SSH内网转发
http://www.jb51.net/hack/58514.html http://blog.chinaunix.net/uid-756931-id-353243.html http://blog. ...
- lcx.exe内网转发命令教程 + LCX免杀下载
作者: 小健 本机: lcx -listen 2222 3333 2222为转发端口,3333为本机任意未被占用的端口 肉鸡:lcx -slave 119.75.217.56 2222 127.0.0 ...
- lcx 内网转发
把放置到已经控制的内网主机 执行 内网主机输入命令lcx.exe -slave 外网ip 外网端口 内网ip 内网端口lcx.exe -slave 30.1.85.55 2222 127.0.0.1 ...
- iptables 端口转发--内网实现上网
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 118.x.x.xiptables -A FORWARD -s ...
- 突破内网限制上网(ssh+polipo)
最近到客户这里来做项目,发现客户对网络的把控实在严格,很多网站都不能访问到,搜索到的技术文档也屏蔽了.突然想到了FQ工具的原理,刚好自己也有台服务器在外头,部署个Polipo代理然后用ssh隧道连接. ...
随机推荐
- ZZUOJ-1195-OS Job Scheduling(郑州大学第七届ACM大学生程序设计竞赛E题)
1195: OS Job Scheduling Time Limit: 2 Sec Memory Limit: 128 MB Submit: 106 Solved: 35 [id=1195&quo ...
- OllyDbg 使用笔记 (七)
OllyDbg 使用笔记 (七) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载:http://pan.baidu.com/s/1gvwlS 暴力破解 观察这个程 ...
- 571B. Minimization(Codeforces Round #317)
B. Minimization time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- 【iOS】网络载入图片缓存与SDWebImage
载入网络图片能够说是网络应用中必备的.假设单纯的去下载图片,而不去做多线程.缓存等技术去优化,载入图片时的效果与用户体验就会非常差. 一.自己实现载入图片的方法 tips: *iOS中全部网络訪问都是 ...
- ASP原码加密工具介绍
ASP原码加密工具介绍 总是会有非常多方法暴露ASP的原程序.造成数据库的password 路径都能够轻易被其它人搞到,所以对ASP程序实行加密处理是个不错的解决方法.以下来介绍一个工具假设大家感兴趣 ...
- 在MTK平台里,,函数kal_prompt_trace起什么作用???Kal_prompt_trace的参数有表示什么?
在MTK平台里,,函数kal_prompt_trace起什么作用???Kal_prompt_trace的参数有表示什么?一直弄不明白,但是很多函数的开头就是这个函数,,而且一般有三个参数-- kal_ ...
- Java并发基础知识点详解
1.synchronized与Lock区别 父类有synchtonized,子类调用父类的同步方法,是没办法同步的,因为synchronized不是修饰符,不会被继承下来. synchronized ...
- C - Between the Offices
Problem description As you may know, MemSQL has American offices in both San Francisco and Seattle. ...
- 6.10---mybatis的实体---接口---接口映射---主配置文件
- Django学习案例一(blog):三. 模型生成数据
1. 什么是模型models Django中以创建类的形式来创建数据表. 在编写代码的过程中,所有对数据库的操作,都是对类和类的对象进行操作. ORM对象关系映射(Object relation ma ...