Centos7搭建軟路由

Xenserver環境:vim

一:環境準備api

  內網:192.168.2.100bash

  外網:x.x.x.xtcp

  1.1:登錄XenCenter測試

  1.2:進入Xenserver中的Networking選項this

  1.3:點選下邊的Configure...按鈕,進入Configure IP Addresses對話框rest

  1.4:點選Add IP address新建虛擬交換機code

 

   1.5:Network 1 網卡鏈接外網server

      Network 2 網卡鏈接內網虛擬交換機blog

二:創建Centos7虛擬機並配置網卡

  2.1:vim /etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
#UUID=dd48994a-7f5c-44c1-a8d3-107f4e4b579f
DEVICE=eth1
#ONBOOT=no
ONBOOT=yes
IPADDR=x.x.x.x(固定IP或可聯通外網的IP)
NETMASK=255.255.255.x
GATEWAY=x.x.x.x
DNS1=8.8.8.8
DNS2=x.x.x.x

   2.2:vim /etc/sysconfig/network-scripts/ifcfg-eth2

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth3
#UUID=34b419e0-ca01-4ca4-964b-45d2a9973002
DEVICE=eth3
#ONBOOT=no
ONBOOT=yes
IPADDR=192.168.2.100
NETMASK=255.255.255.0

   2.3:ping baidu.com

 

三:配置ipv4轉發

  3.1:查看IPv4轉發狀態,默認爲0即關閉狀態

      cat /proc/sys/net/ipv4/ip_forward

  3.2:開啓轉發

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

 

四:藉助iptables作地址轉發:

  4.1:配置iptables作SNAT,基於源的數據包轉發

      iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source x.x.x.x

  4.2:192.168.2.0網段的虛擬機,須要上外網,只要把網關配置成192.168.2.100便可

 

五:加開機運行:

  5.1:爲了防止重啓後這些配置失效,將這兩條命令加入到rc.local中,使其開機自動運行,

     vim /etc/rc.d/rc.local

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
echo 1 >  /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source x.x.x.x

  5.2:由於CentOS7開始,rc.local默認沒有執行權限,還要加一條命令

      chmod +x /etc/rc.d/rc.local

      重啓測試:reboot

 

六:iptables配置:

  vim iptables.sh

#!/bin/sh
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s x.x.x.x -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
#iptables -A INPUT -p udp -m udp --dport 67 --in-interface xenapi -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source x.x.x.x
iptables -t nat -A PREROUTING -i eth1 -p tcp -d x.x.x.x --dport 30022 -j DNAT --to-destination 192.168.2.100:22
iptables -A FORWARD -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
service iptables save
systemctl restart iptables.service

 注意:iptables -P INPUT ACCEPT這條規則必須先運行,不然會鏈接不上iptables -A FORWARD -j ACCEPT這條規則與POSTROUTING配套使用開啓ip轉發:echo 1 >  /proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source x.x.x.x寫入開機啓動:chmod +x /etc/rc.d/rc.localecho 1 >  /proc/sys/net/ipv4/ip_forward端口轉發:iptables -t nat -A PREROUTING -i eth1 -p tcp -d x.x.x.x --dport 30022 -j DNAT --to-destination 192.168.2.100:22

相關文章
相關標籤/搜索