1. 程式人生 > 程式設計 >ubuntu配置共享網路

ubuntu配置共享網路

起因

由於工作的需要,配置了一臺ubuntu的伺服器(帶介面的),需求:

  1. 無線網路卡連線外網,有線網路卡插交換機後接AP進行功放網路,相當於作為路由器來使用
  2. 伺服器上會執行服務,將IP和埠轉發,連線上無線網後直接訪問網站可以直接訪問相應的服務(不使用Nginx或者Apache,因為覺得沒必要)

記錄一下解決方法與過程,方便日後查詢與學習

步驟

  1. 安裝dnsmasq,進行dns攔截,來達到訪問 網址+埠 == IP + 埠的效果
  2. 配置dnsmasq,開啟/etc/dnsmasq.conf,新增一下配置(或者是解注)
    # 定義dnsmasq從哪裡獲取上游DNS伺服器的地址,預設是從/etc/resolv.conf獲取
    resolv-file=/etc/resolv.dnsmasq.conf # 定義dnsmasq監聽的地址,預設是監控本機的所有網路卡上。區域網內主機若要使用dnsmasq服務時,指定本機的IP地址 listen-address=127.0.0.1 # 設定一個反向解析,即所有的地址都解析到特定dns去解析 address=/www.xxxx.com(域名)/xx.xx.xx.xx(IP) # 設定dns快取大小,預設為150條 cache-size=150 複製程式碼
  3. 重啟dnsmasq服務
    systemctl stop dnsmasq
    systemctl start dnsmasq
    複製程式碼
  4. 新增路由,進行埠轉發
    # 增加路由埠轉發
    sudo iptables -t nat -A PREROUTING -d xx.xx.xx.xx(IP地址) -p tcp --dport 80(訪問地址是預設為80埠) -j DNAT --to-destination xx.xx.xx.xx:xx(IP+埠) # 檢視路由表 sudo iptables -t nat --list # 刪除路由埠轉發 sudo iptables -t nat -D PREROUTING 1 複製程式碼
  5. 修改網路卡子網掩碼,增加IP分配數量
    1. 開啟 /etc/network/interfaces,其中預設應該應該是以下的樣子
    # interfaces(5) file used by ifup(8) and ifdown(8)
    auto lo iface lo inet loopback 複製程式碼
    1. 新增以下內容,儲存並退出
    # 網路卡名稱
    auto xxx
    # 設定網路卡模式,share:與其他計算機共享;dhcp:動態獲取;static:靜態設定,我這裡使用的是share因為需要分發IP
    iface xxx inet share
    # 設定IP地址,固定IP
    address xx.xx.xx.xx
    # 設定子網掩碼,看自己需要多少IP
    netmask 255.255.240.0
    複製程式碼
    1. 開啟 /etc/NetworkManager/NetworkManager.conf,將managed=false更改為true,否則重啟後會顯示該網路卡未託管而無法使用
  6. 重啟電腦

以上就是配置的全過程,目前可以正常使用,系統為ubuntu16.04,如有錯誤歡迎留言指正~