首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>网络安全>正文

配置Linux 内核并利用iptables 做端口映射

http://www.oklinux.cn  2009-02-22  hily.me    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

主机 IP:192.168.1.100

目标机 IP:192.168.2.101

要求将到主机 192.168.1.100:11101 的请求映射到内部网目标机的 sshd 服务端口上,即:192.168.2.101:22。

配置Linux内核(以 2.6.18 为例)

如果执行 iptable -L 出现以下信息,那么就需要重新配置和编译内核:

iptables v1.4.2: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

配置选项:

Networking —->

Networking options —->

[*] Network packet filtering (replaces ipchains) —>

Core Netfilter Configuration —>

<*> Netfilter Xtables support (required for ip_tables)

IP: Netfilter Configuration —>

<*> Connection tracking (required for masq/NAT)

<*> IP tables support (required for filtering/masq/NAT)

<*> IP range match support

<*> Packet filtering

<*> REJECT target support

<*> Full NAT

以上配置只为端口映射准备,如果需要其它功能,请根据需要增加相关的配置。

编译安装内核步骤略过。

iptabes

iptables 规则如下:

iptables -t nat -A PREROUTING -p tcp –dport 11101 -d 192.168.1.100 -j DNAT –to-destination 192.168.2.101:22

查看 iptables 规则定义:

# iptables -t nat -L

Chain PREROUTING (policy ACCEPT)

target prot opt source destination

DNAT tcp – anywhere 192.168.1.100 tcp dpt:11101 to:192.168.2.101:22

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

ip_forward

除此之外,需要在主机上打开 ip 转发以保持连接通道。

查看是否已打开 ip 转发(1 表示打开):

cat /proc/sys/net/ipv4/ip_forward

如果未打开,则用以下命令打开:

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

保存设置

以上 iptables 设置和 ip 转发设置在重启系统之后就会消失,因此如果有需要,请将设置保存。

保存 iptables 设置:

/etc/init.d/iptables save

设置系统启动时自动加载 iptables 设置(以 gentoo 为例):

rc-update add iptables default

保存 ip_forward 设置(在 /etc/sysctl.conf 中设置):

net.ipv4.ip_forward = 1

安全隐患

在打开了 ip_forward 后,一般要同时打开 rp_filter (Reverse Path filter),对数据包的源地址进行检查。

如果在没有打开这个设置,就很容易受到来自内部网的 IP 欺骗。

打开 rp_filter:

for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

保存设置(在 /etc/sysctl.conf 中设置):

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.all.rp_filter = 1

测试

ssh [email protected] -p 11101

看看是不是能够连接到 192.168.2.101 主机上了?

作者:Hily 原始链接:http://hily.me/blog/2009/02/linux-kernel-iptables-port-mapping/

版权声明:可以转载,转载时务必以超链接形式标明文章原始出处和作者信息及版权声明


上一篇:SUSE与Ubuntu回收站具体路径   下一篇:Ubuntu 9.10将加强“云计算”能力

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux Kernel 驱动非授权重置统计漏洞
·红帽企业Linux 4防火墙配置
·Linux Kernel Kprobe栈耗尽漏洞
·Todd Miller Sudo Runas_Alias组本地权限提升漏洞
·secureCRT远程登陆Linux先要开连接协议
·Cacti监控Nginx服务
·使用Linux系统防范“usp10.dll猫癣病毒”
·libvirt libvirt_proxy.c文件本地栈溢出漏洞
·用Nmon监控Linux系统性能
·2200BG Linux下BT3 破解64bit WEP
·Linux系统调用存在的一些问题及对策
·Linux系统进程监控工具简介
·入门级黑客必看:最常用的密码大曝光
·Linux Kernel dell_rbu本地拒绝服务漏洞
·Linux Kernel本地拒绝服务漏洞
·Linux Kernel readlink本地权限提升漏洞
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·FreeBSD ZIL机制不安全文件权限漏洞
·Novell eDirectory Post Auth头远程溢
·Linux Kernel Ext4子系统ioctl本地权限
·Linux Kernel ext4_fill_flex_info函数
·Linux Kernel ext4_decode_error函数空
·奥巴马任命网络安全专家担任“网络沙皇
·FreePBX多个跨站脚本和HTML注入漏洞
·DeluxeBB多个远程安全漏洞
·系统安全:Windows与Linux平台
·PostgreSQL爆漏洞 Oracle家Sun忙修补
·分析称谷歌Chrome OS 将成黑客主要攻击
·phpGroupWare多个输入验证漏洞
  阅读排行
·Ubuntu中UFW防火墙的安装及使用
·Ubuntu里安装配置防火墙
·Linux下Sniffer工具Tcpdump的安装和使
·Ubuntu下轻松安装小红伞杀毒软件
·Ubuntu防火墙 UFW 设置简介
·SUSE Linux 默认的iptables防火墙配置
·Linux下破解路由器WEP加密
·Linux系统中的Passwd文件详细解析
·CentOS Linux关闭防火墙
·Linux下安装配置NTOP监视网络使用情况[
·Linux下配置ssh无密码登录
·Linux安全之网上惊现傻瓜型病毒制作工
·Linux 安全模块(LSM)简介
·我的SUSE Linux防火墙配置笔记
·Ubuntu 9.04 下无线破解
网摘收藏: