欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用shadowsocks搭建局域網(wǎng)透明網(wǎng)關(guān)

 更新時(shí)間:2021年11月29日 14:45:38   作者:xucaibao1979  
大家好,本篇文章主要分享的是利用shadowsocks搭建局域網(wǎng)透明網(wǎng)關(guān),感興趣的小伙伴趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏哦

對(duì)于個(gè)人用戶(hù)則是在手機(jī)或終端上安裝ss,企業(yè)用戶(hù)這樣配置的話(huà)就比較麻煩,也不便于管理和維護(hù)。所以需要在網(wǎng)關(guān)處配置或內(nèi)網(wǎng)的某臺(tái)服務(wù)器上配置,并指向該網(wǎng)關(guān)。

思路:

1.dnsmasq+China DNS+ss-tunnel解決DNS污染的問(wèn)題

2.ss-redir配合iptables和ipset來(lái)分流國(guó)內(nèi)流量和國(guó)外流量,這樣國(guó)內(nèi)的網(wǎng)站直連,而國(guó)外網(wǎng)站則走ss-redir

網(wǎng)關(guān)方案解析:

1.dnsmasq主要起到DNS緩存作用,DNS請(qǐng)求會(huì)被發(fā)送給ChinaDNS,ChinaDNS會(huì)將請(qǐng)求同時(shí)發(fā)送給國(guó)內(nèi)的DNS服務(wù)器和ss-tunnel,ss-tunnel負(fù)責(zé)relay給ss服務(wù)器,由于ss在國(guó)外不會(huì)被污染,因此ChinaDNS會(huì)得到兩個(gè)回復(fù)并判斷其結(jié)果是否被污染,最終dnsmasq將得到未被污染的DNS應(yīng)答

2.iptables配合ipset負(fù)責(zé)區(qū)分國(guó)內(nèi)和國(guó)外流量

系統(tǒng):Ubuntu 20.0

安裝配置dnsmasq

1. 安裝dnsmasq

apt-get install dnsmasq

2. 修改配置文件 /etc/dnsmasq.conf

no-resolv
server=127.0.0.1#5354

3. 啟動(dòng)dnsmasq

service dnsmasq start

安裝配置ChinaDNS

1. 參考ChinaDNS的??官方文檔??

2. 下載ChinaDNS, ??鏈接??

wget -c https://github.com/shadowsocks/ChinaDNS/releases/download/1.3.2/chinadns-1.3.2.tar.gz

編譯

tar -xvf chinadns-1.3.2.tar.gz && cd chinadns-1.3.2
./configure && make 
src/chinadns -m -p 5353 -c chnroute.txt &  ###只用于測(cè)試該chinadns是否可以啟動(dòng)
netstat -ntlpu    ######查看啟動(dòng)的端口

3. 編譯后,將會(huì)在src目錄里生成可執(zhí)行文件chinadns,將其拷貝至 /usr/local/bin里面

cp ./src/chinadns /usr/local/bin/

4. 在/etc/init.d/下創(chuàng)建名為chinadns的文件,將如下代碼復(fù)制進(jìn)去,記得執(zhí)行??sudo chmod +x /etc/init.d/chinadns?? 以使其可執(zhí)行

#!/bin/sh
### BEGIN INIT INFO
# Provides:          chinadns
# Required-Start:    $network $local_fs $remote_fs $syslog
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start ChinaDNS at boot time
### END INIT INFO### Begin Deploy Path
# Put this file at /etc/init.d/
### End Deploy PathDAEMON=/usr/local/bin/chinadns
DESC=ChinaDNS
NAME=chinadns
PIDFILE=/var/run/$NAME.pidtest -x $DAEMON || exit 0case "$1" in
  start)
    echo -n "Starting $DESC: "
    $DAEMON \
        -c /etc/chinadns/chnroute.txt \
 -m \
        -p 5354 \
 -s 114.114.114.114,127.0.0.1:5300 \
        1> /var/log/$NAME.log \
        2> /var/log/$NAME.err.log &
    echo $! > $PIDFILE
    echo "$NAME."
    ;;
  stop)
    echo -n "Stopping $DESC: "
    kill `cat $PIDFILE`
    rm -f $PIDFILE
    echo "$NAME."
    ;;
  restart|force-reload)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esacexit 0

注意:18行的-c /etc/chinadns/chnroute.txt,路徑請(qǐng)根據(jù)自己相應(yīng)的填寫(xiě)。

5. 啟動(dòng)/重啟/停止 chinadns

service chinadns start #啟動(dòng)chinadns
service chinadns restart #重啟chinadns
service chinadns stop #停止chinadns

安裝配置shadowsocks-libev(含有ss-redir以及ss-tunnel)

1. 詳細(xì)過(guò)程參見(jiàn)??官方文檔??

2. 執(zhí)行如下代碼

apt-get install software-properties-common -y
add-apt-repository ppa:max-c-lv/shadowsocks-libev -y
apt-get update
apt install shadowsocks-libev

3. 配置/etc/shadowsocks-libev/config.json, 注意,111.111.111.111自己請(qǐng)?zhí)鎿Q為自己的VPS Server地址,“password”請(qǐng)自行修改

{
    "server":"111.111.111.111",
    "server_port":8388,
    "local_address":"0.0.0.0",
    "local_port":1080,
    "password":"password",
    "timeout":60,
    "method":"aes-256-cfb",
    "mode": "tcp_and_udp"
}

4. 啟動(dòng)ss-tunnel 與ss-redir

/usr/bin/ss-tunnel  -c /etc/shadowsocks-libev/config.json -u -l 5300 -L 8.8.8.8:53 &
/usr/bin/ss-redir -c /etc/shadowsocks-libev/config.json -b 0.0.0.0 -u &

開(kāi)啟轉(zhuǎn)發(fā)

1.修改 /etc/sysctl.conf, 取消注釋:

net.ipv4.ip_forward=1

2. 執(zhí)行命令使其生效

sysctl -p

配置iptables和ipset

1. 生成國(guó)內(nèi)IP地址的ipset

curl -sL http://f.ip.cn/rt/chnroutes.txt | egrep -v '^$|^#' > cidr_cn
###如果執(zhí)行失敗可以使用cat /usr/local/src/chinadns-1.3.2/chnroute.txt | egrep -v '^$|^#' > cidr_cn
ipset -N cidr_cn hash:net
for i in `cat cidr_cn`; do echo ipset -A cidr_cn $i >> ipset.sh; done
chmod +x ipset.sh && sudo ./ipset.sh
rm -f ipset.cidr_cn.rules
ipset -S > ipset.cidr_cn.rules
cp ./ipset.cidr_cn.rules /etc/ipset.cidr_cn.rules

2. 配置iptables

iptables -t nat -N shadowsocks# 保留地址、私有地址、回環(huán)地址 不走代理
iptables -t nat -A shadowsocks -d 0/8 -j RETURN
iptables -t nat -A shadowsocks -d 127/8 -j RETURN
iptables -t nat -A shadowsocks -d 10/8 -j RETURN
iptables -t nat -A shadowsocks -d 169.254/16 -j RETURN
iptables -t nat -A shadowsocks -d 172.16/12 -j RETURN
iptables -t nat -A shadowsocks -d 192.168/16 -j RETURN
iptables -t nat -A shadowsocks -d 224/4 -j RETURN
iptables -t nat -A shadowsocks -d 240/4 -j RETURN# 以下IP為局域網(wǎng)內(nèi)不走代理的設(shè)備IP
iptables -t nat -A shadowsocks -s 192.168.2.10 -j RETURN# 發(fā)往shadowsocks服務(wù)器的數(shù)據(jù)不走代理,否則陷入死循環(huán)
# 替換111.111.111.111為你的ss服務(wù)器ip/域名
iptables -t nat -A shadowsocks -d  111.111.111.111 -j RETURN    
# 大陸地址不走代理,因?yàn)檫@毫無(wú)意義,繞一大圈很費(fèi)勁的
iptables -t nat -A shadowsocks -m set --match-set cidr_cn dst -j RETURN# 其余的全部重定向至ss-redir監(jiān)聽(tīng)端口1080(端口號(hào)隨意,統(tǒng)一就行)
iptables -t nat -A shadowsocks ! -p icmp -j REDIRECT --to-ports 1080# OUTPUT鏈添加一條規(guī)則,重定向至shadowsocks鏈
iptables -t nat -A OUTPUT ! -p icmp -j shadowsocks
iptables -t nat -A PREROUTING ! -p icmp -j shadowsocks

設(shè)置網(wǎng)關(guān)的默認(rèn)網(wǎng)關(guān)

透明網(wǎng)關(guān)需要設(shè)置默認(rèn)的下一跳地址,也就是說(shuō),網(wǎng)關(guān)在決定了數(shù)據(jù)包的路由之后應(yīng)該把數(shù)據(jù)包送到哪里去,在我們的家庭局域網(wǎng)環(huán)境中這個(gè)下一跳就是路由器的地址

請(qǐng)留意,192.168.2.1應(yīng)該是路由器的地址,有的是192.168.0.1,有的是192.168.1.1,需要查看具體的設(shè)置

p2p1是網(wǎng)卡,有時(shí)候可能是eth0,請(qǐng)自行通過(guò)??ifconfig?? 查看自己的網(wǎng)卡代號(hào)

route del default
route add default gw 192.168.2.1 p2p1

設(shè)置路由器的DNS和DHCP網(wǎng)關(guān)

1. 假設(shè)透明網(wǎng)關(guān)的IP地址是192.168.2.2,那么將路由器的DNS也設(shè)為192.168.2.2

2. 在路由器的DHCP子項(xiàng)下面將路由器的內(nèi)網(wǎng)網(wǎng)關(guān)設(shè)為192.168.2.2

到此這篇關(guān)于利用shadowsocks搭建局域網(wǎng)透明網(wǎng)關(guān)的文章就介紹到這了,更多相關(guān)shadowsocks搭建透明網(wǎng)關(guān)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何解決linux中l(wèi)s卡死的問(wèn)題

    如何解決linux中l(wèi)s卡死的問(wèn)題

    這篇文章主要介紹了如何解決linux中l(wèi)s卡死的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-06-06
  • ubuntu16.04自動(dòng)設(shè)置行號(hào)的步驟詳解

    ubuntu16.04自動(dòng)設(shè)置行號(hào)的步驟詳解

    這篇文章主要介紹了ubuntu16.04自動(dòng)設(shè)置行號(hào)的步驟,文中給大家提到了Ubuntu vi設(shè)置行號(hào)的方法,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-08-08
  • linux mint 18虛擬機(jī)下設(shè)置1080P分辨率的方法

    linux mint 18虛擬機(jī)下設(shè)置1080P分辨率的方法

    下面小編就為大家?guī)?lái)一篇linux mint 18虛擬機(jī)下設(shè)置1080P分辨率的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • linux下vi(vim)的新的用法總結(jié)

    linux下vi(vim)的新的用法總結(jié)

    在本篇文章里,我們給大家整理了一篇關(guān)于linux下vi(vim)的新的用法,有此需要的朋友們可以學(xué)習(xí)下。
    2019-11-11
  • 帶你入門(mén)Linux中size命令的6個(gè)例子

    帶你入門(mén)Linux中size命令的6個(gè)例子

    這篇文章主要給大家介紹了幾個(gè)帶你入門(mén)Linux中size命令的例子,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • linux vi命令知識(shí)點(diǎn)用法總結(jié)

    linux vi命令知識(shí)點(diǎn)用法總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于linux vi命令的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們參考學(xué)習(xí)下。
    2019-10-10
  • Linux中mv命令的高級(jí)用法示例

    Linux中mv命令的高級(jí)用法示例

    這篇文章主要給大家介紹了關(guān)于Linux中mv命令的高級(jí)用法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Linux 下如何檢查內(nèi)存使用率

    Linux 下如何檢查內(nèi)存使用率

    這篇文章主要介紹了Linux 下如何檢查內(nèi)存使用率,幫助大家更好的理解和學(xué)習(xí)Linux,感興趣的朋友可以了解下
    2020-08-08
  • Linux系統(tǒng)實(shí)現(xiàn)ansible自動(dòng)化安裝配置httpd的方法

    Linux系統(tǒng)實(shí)現(xiàn)ansible自動(dòng)化安裝配置httpd的方法

    這篇文章主要介紹了Linux系統(tǒng)實(shí)現(xiàn)ansible自動(dòng)化安裝配置httpd的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Linux shell中的test命令用法教程

    Linux shell中的test命令用法教程

    這篇文章主要給大家介紹了Linux shell中的test命令用法的相關(guān)資料,test命令是shell環(huán)境中測(cè)試條件表達(dá)式的實(shí)用工具,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-04-04

最新評(píng)論