centos 开启路由转发(centos7查看路由)
其实centos 开启路由转发的问题并不复杂,但是又很多的朋友都不太了解centos7查看路由,因此呢,今天小编就来为大家分享centos 开启路由转发的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
centos安装配置pptpvpn服务器步骤分享
说明:
服务器操作系统:CentOS 5.X 64位
服务器IP地址:192.168.21.128
实现目的:服务器安装配置pptp软件,对外提供vpn拨号服务
具体操作:
一、安装包下载
1、ppp#安装pptpd需要此软件包
2、pptpd#目前最新版本
下载好之后上传到/usr/local/src目录
二、检查服务器系统环境是否支持安装pptp vpn
1、检查系统内核是否支持MPPE补丁
复制代码代码如下:
modprobe ppp-compress-18&&echo success
显示success说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel
复制代码代码如下:
yum install kernel-devel
2、检查系统是否开启TUN/TAP支持
cat/dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
复制代码代码如下:
cat:/dev/net/tun: File descriptor in bad state
3、检查系统是否开启ppp支持
复制代码代码如下:
cat/dev/ppp
如果这条指令显示结果为下面的文本,则表明通过:
复制代码代码如下:
cat:/dev/ppp: No such device or address
上面三条必须同时满足,否则不能安装pptp vpn
三、安装pptp
复制代码代码如下:
cd/usr/local/src
rpm-ivh ppp-2.4.4-14.1.rhel5.x86_64.rpm#安装ppp
rpm-ivh pptpd-1.4.0-1.rhel5.x86_64.rpm#安装pptp
四、配置pptp
1、vi/etc/ppp/options.pptpd#编辑,添加、修改以下参数
复制代码代码如下:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8#添加主DNS服务器地址
ms-dns 8.8.4.4#添加备DNS服务器地址
:wq!#保存,退出
2、vi/etc/ppp/chap-secrets#设置pptp拨号用户和密码(可以设置多个用户,每行一个)
复制代码代码如下:
# client server secret IP addresses
osyunweivpnuser01 pptpd 123456*
osyunweivpnuser02 pptpd 1234*
osyunweivpnuser03 pptpd 12345678*
格式:用户名 pptpd密码*
其中*表示为客户端自动分配IP地址
:wq!#保存,退出
3、vi/etc/pptpd.conf#设置pptp服务器IP地址,设置vpn拨入客户端ip地址池
复制代码代码如下:
option/etc/ppp/options.pptpd
logwtmp
localip 172.16.36.1#设置pptp虚拟拨号服务器IP地址(注意:不是服务器本身的IP地址)
remoteip 172.16.36.2-254#为拨入vpn的用户动态分配172.16.36.2~172.16.36.254之间的IP地址复制代码代码如下:
:wq!#保存,退出
/sbin/service pptpd start#启动pptp
/etc/init.d/pptpd stop#关闭
service pptpd restart#重启
chkconfig pptpd on#设置开机启动
五、开启服务器系统路由模式,支持包转发
编辑vi/etc/sysctl.conf
复制代码代码如下:
net.ipv4.ip_forward= 1#设置为1
#net.ipv4.tcp_syncookies= 1#注释掉
复制代码代码如下:
:wq!#保存,退出
/sbin/sysctl-p#使设置立刻生效
六、设置防火墙转发规则
复制代码代码如下:
yum install iptables#安装防火墙
service iptables start#启动防火墙
iptables-t nat-A POSTROUTING-s 172.16.36.0/255.255.255.0-j SNAT--to-source 192.168.21.128#添加规则
iptables-A FORWARD-p tcp--syn-s 172.16.36.0/255.255.255.0-j TCPMSS--set-mss 1356#添加规则
/etc/init.d/iptables save#保存防火墙设置
七、开启pptp服务端口tcp 1723,设置vpn拨入客户端ip地址池172.16.36.0/255.255.255.0通过防火墙
编辑vi/etc/sysconfig/iptables,添加以下代码
复制代码代码如下:
-A RH-Firewall-1-INPUT-p tcp-m state--state NEW-m tcp--dport 1723-j ACCEPT
-A RH-Firewall-1-INPUT-s 172.16.36.0/255.255.255.0-j ACCEPT
:wq!#保存,退出
备注:
复制代码代码如下:
#192.168.21.128为服务器IP地址
#172.16.36.0/255.255.255.0是第四步中设置的pptp虚拟拨号服务器IP地址段
/etc/init.d/iptables restart#重启防火墙
chkconfig iptables on#设置开机启动
cat/etc/sysconfig/iptables#查看防火墙配置文件
# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013
*nat
: PREROUTING ACCEPT [60:4680]
: POSTROUTING ACCEPT [4:258]
:OUTPUT ACCEPT [4:258]
-A POSTROUTING-s 172.16.36.0/255.255.255.0-j SNAT--to-source 192.168.21.128
COMMIT
# Completed on Wed Dec 11 20:21:08 2013
# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [94:16159]
:RH-Firewall-1-INPUT- [0:0]
-A INPUT-j RH-Firewall-1-INPUT
-A FORWARD-j RH-Firewall-1-INPUT
-A FORWARD-s 172.16.36.0/255.255.255.0-p tcp-m tcp--tcp-flags FIN,SYN,RST,ACK SYN-j TCPMSS--set-mss 1356
-A RH-Firewall-1-INPUT-i lo-j ACCEPT
-A RH-Firewall-1-INPUT-p icmp-m icmp--icmp-type any-j ACCEPT
-A RH-Firewall-1-INPUT-p esp-j ACCEPT
-A RH-Firewall-1-INPUT-p ah-j ACCEPT
-A RH-Firewall-1-INPUT-d 224.0.0.251-p udp-m udp--dport 5353-j ACCEPT
-A RH-Firewall-1-INPUT-p udp-m udp--dport 631-j ACCEPT
-A RH-Firewall-1-INPUT-p tcp-m tcp--dport 631-j ACCEPT
-A RH-Firewall-1-INPUT-m state--state RELATED,ESTABLISHED-j ACCEPT
-A RH-Firewall-1-INPUT-p tcp-m state--state NEW-m tcp--dport 22-j ACCEPT
-A RH-Firewall-1-INPUT-p tcp-m state--state NEW-m tcp--dport 1723-j ACCEPT
-A RH-Firewall-1-INPUT-s 172.16.36.0/255.255.255.0-j ACCEPT
-A RH-Firewall-1-INPUT-j REJECT--reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Dec 11 20:21:08 2013
八、设置开机自动建立ppp设备节点(系统重新启动后有可能会丢失此文件,导致pptp客户端拨号出现错误619)
编辑vi/etc/rc.d/rc.local,在文件最后添加此行代码
复制代码代码如下:
mknod/dev/ppp c 108 0#在文件最后添加此行代码
:wq!#保存,退出
Centos下配置firewalld实现nat路由转发
firewalld介绍:
nat介绍:
1.准备两台虚拟机:nat01, nat02(centos,安装时选择安装类型,nat02需要有浏览器)
2.转发用虚拟机[nat01]准备两张网卡,一张网卡与要测试环境网络互通,一张网卡与局域网虚拟机[nat02]网络互通
3.局域网虚拟机[nat02]与转发用虚拟机网络互通,相同网段,且网关为[nat01]ip地址(修改ifcfg-eth0文件后重启网络即可)
nat01:33.33.33.35 nat02:33.33.33.52
4.配置转发用虚拟机[nat01]:
step1:内核参数文件sysctl.conf配置ip转发
vi/etc/sysctl.conf
在文本内容中添加:net.ipv4.ip_forward= 1
保存文件后,输入命令sysctl-p生效
step2:开启firewalld.service
systemctl start firewalld.service#开启
systemctl enable firewalld.service#开机自启动
step3:防火墙开启伪装IP功能
firewall-cmd--add-masquerade--permanent#允许防火墙伪装IP
firewall-cmd--query-masquerade#检查是否允许伪装IP
firewall-cmd--reload#重载配置文件生效
step4:开放端口:
firewall-cmd--zone=public--add-port=10020/tcp--permanent#开放通过tcp访问10020
firewall-cmd--list-ports#查看开放端口
firewall-cmd--reload#重载配置文件生效
step5:端口转发
firewall-cmd--zone=public--add-forward-port=port=10020:proto=tcp:toport=443:toaddr=192.25.1.2--permanent
#将10020端口的流量转发到192.25.1.2:443
firewall-cmd--reload
ps:zone=external针对伪装进入连接,一般用于路由转发
--permanent永久生效
192.25.1.2:443修改为需要访问环境的IP和开放端口
5.测试
登录[nat02]虚拟机,进入ssh终端,wget 33.33.33.35:10020
进入浏览器,访问:33.33.33.35:10020 --》自动跳转到环境地址,访问正常
ps:若需要访问地址是https,则在浏览器中输入:
通过iptables实现共享上网及端口代理转发
虚拟机器1:
1、NAT网:192.168.183.131(可上外网)
2、LAN网:10.0.0.1
虚拟机器2:
LAN网:10.0.0.100
虚拟机器3:
LAN网:10.0.0.200
目标:虚拟机器2和3通过虚拟机器1共享上网
操作步骤:
以上完成,即可上网(共享上网,不需要开启防火墙)。
目标:通过访问虚拟机器1的80端口,代理访问虚拟机2的nginx80端口
操作步骤:
此时,在浏览器上,输入192.168.183.131即可访问到nginx页面。
由此可见,iptables作端口转发,也是非常简单的(转发,不需要开启防火墙)。
PS:以上两种情况,相关配置情况:
相关命令集合:
Centos7极简单模式:
同样开启路由转发sysctl-w net.ipv4.ip_forward=1.
常见操作
实际案例
云服务器
一般云服务器只有内网网卡,外网IP是映射IP;
因此只要转发内网IP,然后开启路由转发即可。
开启路由转发: sysctl-w net.ipv4.ip_forward=1